使用Jenkins Blue Ocean部署构build

我最近使用Docker和Jenkinsbuild立了我自己的小型CI / CD设置。 我已经为Jenkins安装了新的Blue Ocean插件,并build立了一个pipe道:从Git拉 – >运行testing – >构build。 这是完美的。

但是,我一直无法find如何在stream水线中创build适当的部署/发布步骤。 构build完成后,我想让Jenkins容器通过SSH连接到运行所有Docker容器的VPS,然后重新构build特定容器(使用Docker Compose)。

我注意到在蓝海有一个选项,可以inputtesting/编译后运行的bash脚本 – 这是我应该使用的吗?

我一直在寻找使用通过SSH发布插件为jenkins,但我一直没有能够find这个插件是否与蓝色海洋,我也没有能够find如何创build使用jenkins容器的SSH密钥。

我非常感谢任何有关如何发布/构build更新的容器的见解/build议。

一个简单sh 'ssh...'步骤应该足以在你的VPS上调用一个脚本,这将会(脚本)处理所有的docker操作。

如果您的私有ssh密钥受到密码保护,您可能需要使用pipe道步骤“ssh-agent”将该调用包装在代理中 :

 node { sshagent (credentials: ['deploy-dev']) { sh 'ssh -o StrictHostKeyChecking=no -l cloudbees 192.168.1.106 uname -a' } } 

作为pmr评论, JENKINS SSH凭据插件可用于存储ssh私钥。
您还可以阅读最近的文章“ 与Jenkins的SSH凭证pipe理 ”。

终于搞定了! 是的,解决scheme是使用Jenkins的“ssh-agent”插件(在Jenkins Docker容器上工作!)。

我做了以下几点:

  1. 只需在本地机器上创build一个ssh密钥对(ssh-keygen)
  2. 复制粘贴id_rsa到ssh-agent插件
  3. 通过id_rsa.pub复制到机器上我想运行构build/发布脚本

我的错误是直接使用BlueOcean而不真正了解Jenkins的构build工作。 BlueOcean不允许与ssh-agent集成。 您必须添加:

 sshagent (credentials: ['deploy-dev']) { sh 'ssh -o StrictHostKeyChecking=no -l cloudbees 192.168.1.106 uname -a' } 

到您的版本正在使用的Jenkins文件。

我希望这可以帮助所有遇到同样问题的人。