使用詹金斯蓝海部署建筑物



我最近使用Docker和Jenkins设置了自己的小CI/CD设置。我已经为Jenkins安装了新的Blue Ocean插件,并设置了一条管道,该管道:从GIT中拉出 ->运行测试 -> builds。

但是,我无法找到如何在管道中创建适当的部署/发布步骤。构建后,我希望Jenkins容器能够将SSH ssh到我的VPS上,该VP运行所有Docker容器,然后拉动然后重建该特定容器(使用Docker Compose(。

我注意到蓝色海洋中可以选择输入一个bash脚本,该脚本将在测试/构建后运行 - 这是我应该使用的吗?

我一直在考虑使用jenkins上的ssh插件使用该发布,但是我找不到此插件是否与蓝色海洋一起使用,也无法找到如何为Jenkins容器创建SSH键被使用。

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

终于使它起作用了!是的,解决方案是将" SSH-Agent"插件用于Jenkins(在Jenkins Docker容器上使用!(。

我做了以下操作:

  1. 只是在我的本地计算机(SSH-Keygen(上创建了SSH Keypair
  2. 复制将ID_RSA粘贴到SSH-Agent插件
  3. 通过id_rsa.pub复制到我想在
  4. 上运行构建/发布脚本的计算机

我的错误是直接使用Blueocean而不真正了解Jenkins的构建方式。Blueocean不允许与SSH-Agent集成。您必须添加:

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

到您的构建正在使用的Jenkinsfile。

我希望这对遇到相同问题的其他所有人都有帮助。

一个简单的sh 'ssh...'步骤应该足以在您的VPS上调用脚本,该脚本(脚本(处理所有Docker操作。

如果您的私有SSH键受密码保护,则可能需要用管道步骤" 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凭据管理"。

相关内容

  • 没有找到相关文章

最新更新