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的部署过程。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11764334.html

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

发表评论

登录后才能评论

评论列表(0条)

保存