做网站需要解析吗,网站做两个版本,dw做的网站不显示,wordpress全程ssl项目背景#xff1a;城市政务云服务器没有上k8s#xff0c;所有后端服务都是原始方式部署启动 #xff08;java -jar xxx.jar#xff09;#xff0c;那么有没有方式简化部署难度#xff0c;实现自动部署#xff1f;当然是有的#xff0c;下面详细介绍#xff08;以Cen…项目背景城市政务云服务器没有上k8s所有后端服务都是原始方式部署启动 java -jar xxx.jar那么有没有方式简化部署难度实现自动部署当然是有的下面详细介绍以CentOS7环境为例 一、服务器安装配置rsync
1. 安装rsync
一般服务器上自带的有rsync怎么查系统自带的有没有rsync以及是哪个版本
[roothe-vm-0000000589 ~]# rpm -qa|grep rsync
rsync-3.1.2-11.el7_9.x86_64或者使用which命令也行,查看服务器上有没有 rsync命令
[roothe-vm-0000000589 ~]# which rsync
/usr/bin/rsync
若系统没有安装rsync没有rsync命令则安装命令如下
yum -y install rsync
2 被控端业务节点服务器上配置rsync
2.1 创建 /etc/rsync.pass 文件
touch /etc/rsync.pass
2.2 编辑 /etc/rsync.pass
vim /etc/rsync.pass 更改 rsync.pass 用户权限为 600
chmod 600 /etc/rsync.pass
效果如下 2.3 配置 /etc/rsyncd.conf 文件
PS/etc/rsyncd.conf 文件内容默认是全部注释了的
vim /etc/rsyncd.conf
log file /var/log/rsyncd.log
pidfile /var/run/rsyncd.pid
lock file /var/run/rsync.lock
secrets file /etc/rsync.pass
max connections 0[activity-annual] # 自定义模块名填要自动部署的服务名称
path /data/spring/activity-annual
comment activity-annual
uid root
gid root
port 873
use chroot no
read only no
list no
timeout 600
auth users xx
hosts allow 10.8.11.240
hosts deny 0.0.0.0/32[hello-world] # 自定义模块名填要自动部署的服务名称
path /data/spring/hello-world
comment hello-world
uid root
gid root
port 873
use chroot no
read only no
list no
timeout 600
auth users xx
hosts allow 10.8.11.240
hosts deny 0.0.0.0/32 上面配置文件表明允许主服务器 假设ip为10.8.11.240访问rsync同步模块名为[activity-annual] 和 [hello-world]将同步过来的文件分别放入 path指定的目录 /data/spring/activity-annual、/data/spring/hello-world 。如果是多节点部署则每一台节点服务器都需要进行类似的 rsync 配置上面的 uid gid 更换成您服务器的相应用户注意 rsync 要有对被同步目录的操作权限。配置好之后使用如下命令开启 rsync 守护进程
rsync --daemon 3.主控端jenkins服务器上配置rsync
创建 /etc/passwd.txt , 文件内写入 认证密码 注意要和 从控端的 /etc/rsync.pass 里设置的相对应
touch /etc/passwd.txt echo admin789 /etc/passwd.txt
修改 /etc/passwd.txt 文件权限为 600
chmod 600 /etc/passwd.txt
验证主控端jenkins服务器文件到被控端业务节点服务器文件同步功能
在主控端jenkins服务器上执行如下命令
rsync -avz activity-annual.jar xx10.8.11.248::activity-annual --password-file/etc/passwd.txt
执行结果如下 执行后主控端上的activity-annual.jar 文件自动同步到 目标服务器 10.8.11.248 上 4.被控端业务节点服务器上创建核心脚本
4.1 在被控端业务节点服务器上创建 /etc/systemd/system/jenkins 目录
mkdir /etc/systemd/system/jenkins 4.2在用户根目录下创建并配置 system_add.sh 脚本
核心脚本抽空会放在评论区 核心脚本用途
--- 在 后面 配置jenkins自动部署要用到该核心脚本。
执行核心脚本后会生成两个文件 ----- 下班了晚点补充 二 配置jenkins自动部署
jenkins web端 配置自动部署job
1. New Item 创建一个 Job
可自定义该Job中的参数变量 2. 自动部署核心配置
Build Steps 选择 Execute shell shell脚本如下
echo ${WORKSPACE}
echo ${JOB_NAME}
context_namehello-worldwget ${backend_package_url} -O ${context_name}.tar.gz
tar -zxvf ${context_name}.tar.gz
mv ${WORKSPACE}/target/*.jar ${context_name}.jar
chmod -R og ${context_name}.jar
jar${context_name}.jarTIMESTAMPdate %Y%m%d_%H%M
ansible 10.8.11.248 -m shell -a sh /root/spring_add.sh ${context_name}
ansible 10.8.11.249 -m shell -a sh /root/system_add.sh ${context_name}
rsync -avz ${jar} xx10.8.11.248::${context_name} --password-file/etc/passwd.txt
rsync -avz ${jar} xx10.8.11.249::${context_name} --password-file/etc/passwd.txtsleep 10
ansible 10.8.11.248 -m systemd -a name${context_name} staterestarted
ansible 10.8.11.249 -m systemd -a name${context_name} staterestarted点击Build with Parameters输入后端包下载地址然后点“Build”按钮即可自动打包发布到业务节点服务器