jenkins-zh / jenkins-zh.github.io

Jenkins 中文社区网站

Home Page:https://jenkins-zh.cn

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

jenkins容器执行docker命令的一些探讨

kuangniaokuang opened this issue · comments

背景描述:
A电脑使用docker搭建的Jenkins环境,现在想在Jenkins容器中执行docker命令。
现想到以下解决方案
1.直接调用宿主A的docker,查了很多资料需要加一个卷轴,因为卷轴需要创建容器初期设定,现在自己没有权限修改。所以放弃。
2.使用了docker-build-step插件,使用B电脑上的docker环境。现在想使用Pipeline进行自动化更改,这个插件是否有对应的pipeline替代方案?(问题一
3.考虑到了使用slave,成功链接到了docker节点
设定节点的时候,指定了一个工作路径。可是在执行docker build的时候,需要到别的路径,然后尝试用cd进行重新制定路径,发现无法更改。slave节点,只能在设定的路径下执行么?(问题二
4.流水线语法中有“全局变量”,里面有着withServer这个方法,看到有用 withServer(uri){build()}这种方式能够指定docker(B电脑)进行操作。不过我执行了下pwd发现输出的是A电脑jenkins环境中的路径。是否能实现在B电脑的指定路径,执行docker build命令(问题三

commented

推荐的方案:

  • 不在 master 节点上执行任务构建任务
  • 以jnlp启动一个静态或者动态的agent,如果给到的docker对应的权限,这时候应该是可以执行的

关于问题二:微信群中 “继往开来”,帮忙解决了。

每个sh完了,目录就回到默认了。

commented

背景描述:
A电脑使用docker搭建的Jenkins环境,现在想在Jenkins容器中执行docker命令。
现想到以下解决方案
1.直接调用宿主A的docker,查了很多资料需要加一个卷轴,因为卷轴需要创建容器初期设定,现在自己没有权限修改。所以放弃。
2.使用了docker-build-step插件,使用B电脑上的docker环境。现在想使用Pipeline进行自动化更改,这个插件是否有对应的pipeline替代方案?(问题一
3.考虑到了使用slave,成功链接到了docker节点
设定节点的时候,指定了一个工作路径。可是在执行docker build的时候,需要到别的路径,然后尝试用cd进行重新制定路径,发现无法更改。slave节点,只能在设定的路径下执行么?(问题二
4.流水线语法中有“全局变量”,里面有着withServer这个方法,看到有用 withServer(uri){build()}这种方式能够指定docker(B电脑)进行操作。不过我执行了下pwd发现输出的是A电脑jenkins环境中的路径。是否能实现在B电脑的指定路径,执行docker build命令(问题三

问题三 withServer 只是指定了 docker server endpoint,pwd命令或者 docker build 上下文还在当前环境。

commented

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.