公钥
jenkins(web页面) ---------- > cmdbserver
^
|
|私钥
|
jenkins容器
Ps:由于openssh的版本过于新,而jenkins的public-ssh插件识别不了新版本的openssh的私钥,因此,在jenkins容器中创建私钥时使用“ssh-keygen -t rsa -b 4096 -m PEM”命令,创建旧版本的密钥对,再进行免密及是上传私钥
remote path需要提前创建
创建系统密钥对:/usr/bin/ssh-keygen -A
工程创建的流程与CI一致,但是在构建时,添加一个send files or execute command over SSH
构建流程。
在cmdbserver中/app/code中建立restart.sh
#!/bin/bash
tar -xf /app/code/cmdb.tar -C /app/code/
cp -r /opt/auto_cmdb /backup/auto_cmdb-$(date +%F-%X)
rm -rf /opt/auto_cmdb
mv /app/code/auto_cmdb /opt/
通过CI/CD,项目git push 时,触发webhook,jenkins自动构建,并将构建的tar包发到cmdbserver,在执行脚本,将解包后得到的文件放到原本项目的目录里(前提是先进行了原项目的构建)
网友评论