Git 在生产服务器上使用Jenkins进行部署的最佳方法
我想使用Jenkins进行生产部署,并寻找一种安全且合规性可接受的方法 一点背景Git 在生产服务器上使用Jenkins进行部署的最佳方法,git,jenkins,ssh,Git,Jenkins,Ssh,我想使用Jenkins进行生产部署,并寻找一种安全且合规性可接受的方法 一点背景 我想使用shell可执行文件创建一个简单的Jenkins作业,该可执行文件将获取最新代码,替换一些文件,然后重新启动服务 我的生产服务器只能通过跳转服务器访问 当前方法 我正在考虑将生产服务器作为代理添加到我的Jenkins中,以避免登录到Jump server然后ssh到生产服务器的复杂性 我们有三台这样的生产服务器,需要在其中进行部署,在上述情况下,我们必须将所有三台服务器添加到Jenkins 这是
- 我想使用shell可执行文件创建一个简单的Jenkins作业,该可执行文件将获取最新代码,替换一些文件,然后重新启动服务
- 我的生产服务器只能通过跳转服务器访问
- 我正在考虑将生产服务器作为代理添加到我的Jenkins中,以避免登录到Jump server然后ssh到生产服务器的复杂性
- 我们有三台这样的生产服务器,需要在其中进行部署,在上述情况下,我们必须将所有三台服务器添加到Jenkins
ssh username@production-server bash -c "'
sudo systemctl stop nginx
cd /home/username/code
git fetch --all
git checkout "$branch_name"
sudo cp /home/username/code/index.html /usr/share/doc/HTML/index.html
sudo systemctl start nginx
'"
此外,在这个脚本后面还会有一些if-else语句
总结一下我的问题-
直接在Jenkins中添加生产服务器作为代理(Jenkins只能由有特权的人访问)并运行这种命令/脚本,或者添加Jump server作为代理,然后通过ssh运行命令/脚本作为参数,可以吗
欢迎提供其他最佳方法/建议
将生产服务器添加为my Jenkins中的代理,以避免登录到Jump server然后ssh到生产服务器的复杂性
在我工作的机构中,这永远不会飞:SSH总是被阻止的,除非通过跳转服务器
任何部署实际上都是由完成的,它对prod服务器具有SSH连接授权。Jenkins在那里触发一个塔cli
,以启动Ansible作业