首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Jenkins蓝海部署构建

使用Jenkins蓝海部署构建
EN

Stack Overflow用户
提问于 2017-05-04 02:36:01
回答 2查看 2.3K关注 0票数 1

最近,我使用Docker和Jenkins建立了自己的小型CI/CD设置。我已经为Jenkins安装了新的蓝海插件,并设置了一条管道:从Git中拉出,->运行测试->构建。效果很好。

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

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

我一直在研究如何为Jenkins使用Publish插件,但是我没有能够找到这个插件是否与蓝海一起工作,也没有能够找到如何为Jenkins容器创建SSH键。

对于如何发布/构建更新的容器,我将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-04 04:44:13

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

如果您的私有ssh密钥受到密码的保护,则可能需要将该调用包装在带有管道步骤"ssh-agent“的代理中。

代码语言:javascript
复制
node {
  sshagent (credentials: ['deploy-dev']) {
    sh 'ssh -o StrictHostKeyChecking=no -l cloudbees 192.168.1.106 uname -a'
  }
}

作为pmr注释,JENKINS SSH凭据插件可以用来存储ssh私钥。

您还可以阅读最近的文章"使用Jenkins的SSH凭据管理“。

票数 1
EN

Stack Overflow用户

发布于 2017-05-04 12:07:34

终于成功了!是的,解决方案是为Jenkins使用"ssh-agent“插件(用于Jenkins Docker容器!)。

我做了以下工作:

  1. 简单地在我的本地机器上创建一个ssh键区(ssh-keygen)
  2. 复制将id_rsa粘贴到ssh代理插件。
  3. 将id_rsa.pub复制到我希望在其上运行构建/发布脚本的机器上

我的错误是直接使用BlueOcean,而没有真正理解如何在Jenkins中构建。BlueOcean不允许与ssh代理集成。你必须加上:

代码语言:javascript
复制
sshagent (credentials: ['deploy-dev']) {
    sh 'ssh -o StrictHostKeyChecking=no -l cloudbees 192.168.1.106 uname -a'
}

你的构建正在使用的Jenkinsfile。

我希望这能帮助其他遇到同样问题的人。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43772920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档