Docked jenkins是个不错的选择?
正如标题中所提到的,我想到了一个Docked jenkins。我有一个运行所有测试的容器,但现在我想运行一些部署作业 文件(.py、.conf、.sh)将被复制到由其他容器(应用程序容器)装入的文件夹中。正如我看到的,有些人建议不要使用dockerDocked jenkins是个不错的选择?,jenkins,docker,continuous-integration,Jenkins,Docker,Continuous Integration,正如标题中所提到的,我想到了一个Docked jenkins。我有一个运行所有测试的容器,但现在我想运行一些部署作业 文件(.py、.conf、.sh)将被复制到由其他容器(应用程序容器)装入的文件夹中。正如我看到的,有些人建议不要使用docker 现在我想知道我是应该继续在容器中使用jenkins(因此我必须找到一种方法来运行部署脚本),还是更愿意在服务器上安装它 如果您正在为生产运行Docked Jenkins,最好将其卷装载到Docker主机上 我个人不喜欢docker Jenkins用于
现在我想知道我是应该继续在容器中使用jenkins(因此我必须找到一种方法来运行部署脚本),还是更愿意在服务器上安装它 如果您正在为生产运行Docked Jenkins,最好将其卷装载到Docker主机上
我个人不喜欢docker Jenkins用于生产,因为Jenkins的IP是非静态的,docker网络存在可靠性问题。对于非生产用途,我将Jenkins dockerize。我们正在尝试在生产中对Jenkins进行容器化-能够轻松设置或移动实例的灵活性抵消了学习的痛苦,这种痛苦是: 1-一些构建作业本身是容器化的,需要在docker中运行docker。这可以通过将主机docker.sock传递到Jenkins容器中来实现。(更多阅读:)。它要求主机和Jenkins容器运行相同版本的Docker,但我可以接受
2-SSH密钥是一个更大的问题。Docker中的ssh代理转发因其不可靠性而臭名昭著,我们总是将密钥复制到容器中(忽略此问题上下文中的安全问题)。在主机上的Jenkins实例中,我们将ssh密钥放在Jenkins的主文件夹中,所有内容都可以无缝工作。但是,Docked Jenkins的主文件夹位于Docker卷中,该卷由主机系统拥有,因此密钥过于开放。我们通过将密钥复制到Jenkins家外的文件夹中,将这些密钥发送给Jenkins容器用户,然后将密钥路径添加到容器的/etc/ssh/ssh_配置中来解决这个问题。从停靠的Jenkins实例连接到私有repos(Bitbucket)时会出现问题,在我的情况下,这与权限有关。