加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Jenkins节点作为docker容器

发布时间:2020-12-16 03:23:20 所属栏目:安全 来源:网络整理
导读:jenkins-node是一个在其上运行作业的docker-container.在dockerized的jenkins节点中运行的jenkins作业会检查svn / git的项目,并在由该作业启动的其他docker容器中运行构建和测试.这样,jenkins-job通过“ docker run -v:”文件/目录从已检出的项目挂载到构建

jenkins-node是一个在其上运行作业的docker-container.在dockerized的jenkins节点中运行的jenkins作业会检查svn / git的项目,并在由该作业启动的其他docker容器中运行构建和测试.这样,jenkins-job通过“ docker run -v:…”文件/目录从已检出的项目挂载到构建容器中.这听起来像docker-in-docker,但是根据http://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/,docker-in-docker在ci方面并不好.使用推荐的方法(将主机docker-socket装入jenkins-node容器),我面临的问题是build-container中已装入的文件显示为空目录.我认为这是因为这些文件在主机中未知(它们在jenkins-node容器中检出).提供–privileged标志无济于事.

但是,“邪恶”的docker-in-docker方法在这种情况下可以正常工作.我在做某事吗错误还是docker-in-docker是前往这里的方式?

最佳答案
通过“暴露docker套接字”方法,所有卷路径都将相对于主机.因此,如果您需要访问jenkins-node容器中的内容,则有两个选择:

>确保checkout目录是一个卷,并使用jenkins-node的–volumes-作为所有其他Docker容器的参数.从您的问题看来,测试套件创建的容器将在应用程序存储库中进行配置,因此这可能不是一个好选择.
>在启动jenkins-node时,将checkout目录设置为主机安装的卷-v / git / checkouts:/ path / in / jenkins-node / container.这样,文件实际上将最终存储在主机上(而不是在jenkins-node容器中),并且您将能够通过主机路径访问它们.

我还要说的是,您所引用的文章更为谨慎.仍然需要做很多事情,有时甚至有必要.这不是有史以来最糟糕的事情,只是要意识到这不是万灵丹,它确实带有一系列问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读