Jenkins自动化部署到多台服务器配置

Jenkins自动化部署到多台服务器配置,第1张

1:Jenkins秘钥查看

需要查看秘钥,

然后在 **.16.200.22和**.16.200.28服务器的目录下面将Jenkins秘钥放到~/.ssh/authorized_keys文件里。

3:Jenkins自动化部署到多台服务器脚本

library 'lib-base@master'

def map = [:]

//######传参########

map.put('GIT_URL','http://172.16.0.1/FN-PM0091/cdd.git')

map.put('GIT_BRANCH','master')

map.put('GIT_CRED_ID','jenkins')

def archivelist=[]

archivelist.add('job-excutor/target/cdd1.jar')

map.put('ARCHIVE_FILE',archivelist)

// skywalking 服务目录

def SKYWALKING_DIR = '/usr/local/apps/apache-skywalking-apm-bin-es7'

// skywalking oap 服务地址

def SKYWALKING_OAP_IP = '172.16.200.54'

def SKYWALKING_OAP_PORT = 11800

def deploylist=[]

deploylist.add("runjar -f 'cdd-service/target/cdd1.jar' -v '/data/cddm'  -j '-Xms512m -Xmx512m' -h **.16.200.28")

deploylist.add("runjar -f 'report-executor/target/cdd1.jar' -v '/data/cddm' -j '-Dnacos.logging.default.config.enabled=false -Xms512m -Xmx512m' -h **.16.200.22")

map.put('DEPLOY_RUN',deploylist)

//################

DockerBuild("maven",map)

jenkins要想在远程服务器执行命令,发送文件等操作,必然要处理jenkins与远程机的免交互问题。

下面如何让jenkins与目标主机实现免交互。

系统管理-- 插件安装--搜索ssh --安装 Publish Over SSH

安装完成后,在jenkins端生成秘钥对(公钥id_rsa.pub 私钥id_rsa)

输入一次密码,以后就免密了。输入完可以用ssh 登陆试一下。

我们以最简单的一个例子来演示,部署一个Html页面到远程服务器的nginx网站目录下,实现页面上线。

首先,刚才jenkins配置ssh插件,注意填写远程服务器信息的那里的remote directory这个地方指的发送到远程服务器的哪个目录下。

在job配置中

上图的配置就是,将jenkins上的项目文件init.html发送到远端主机192.168.1.112的/var/www/html下

保存,退出。

远端主机的nginx配置:

点击构建。

结果:部署成功

例子比较简单,后期会更新java的部署过程。

1 切换成root用户 

2 生成公钥  这里注意会生成两份密钥 .pub为公 另一个为私

3 查看公钥

4 把公钥放入git

5 检验权限

6 打开复制私钥

7 进入Jenkins  添加凭据,类型 SSH Username with private key

在下方密钥区域 粘贴 私钥

8 在工程下面的密钥区域选择刚生成的

执行中如果出现权限不足 或者路径不对

1 路径不对 可以查看本地路径是否存在脚本 如果路径配制成环境变量 前面需要加$ 如$SHELLPATH 直接输入路径则不需要加任何符号 如 /media/shell/**.sh

2 出现权限错误 你需要让jenkins使用root用户操作如下 以下用ubuntu举例

文件中

JENKINS_USER=$NAME

JENKINS_GROUP=$NAME

改称

JENKINS_USER=root

JENKINS_GROUP=root

修改目录权限 

cd /var/lib/chown -R root:root ./jenkins

重启jenkins 不同版本重启方式不同 自行百度

systemctl restart jenkins

编译服务器mount到jenkins本机  利用了NFS

更新系统软件包

安装NFSServer

清除目录所有权限限制

先打开 exports 里面定义了NFS服务器访问权限

设置访问权限

/mnt/nfs_share 是共享目录路径

rw 设置可以读写

sync 需要先将更改写入磁盘 然后才能应用更改

no_root_squash / no_subtree_check 消除子树检查

1) 全子网可访问

2) 单独网络可访问

中间ip换成本机ip 如192.168.0.1

打开 然后查看状态

在Ubuntu和Debian上安装NFS客户端:

在CentOS和Fedora上安装NFS客户端:

ip改成本机IP即可

或者直接修改配置文件

1) 在NFS服务器的共享文件夹中创建个文件

2) 在NFS客户端中查看文件是否存在

ip换成本机ip

查看路径是否正确即可

把缺少的依赖库先编译一遍


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/262030.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-17
下一篇2023-04-17

发表评论

登录后才能评论

评论列表(0条)

    保存