我有一群三个节点(一个经理,两个工人)。在我的群中,我正在运行一个安装了坞群插件(https://github.com/jenkinsci/docker-swarm-plugin)的jenkins服务。我想使用这个插件在我的群中为每个jenkins作业创建一个构建代理容器。对于代理,我想使用jenkins/jnlp-从坞映像(https://hub.docker.com/r/jenkinsci/jnlp-slave/)。该图像需要两个参数作为开头:
停靠群插件创建了三个环境变量:
我通过JENKINS_SECRET环境变量(在Jenkins插件配置的ENV部分)将秘密传递给代理:
JENKINS_SECRET=$DOCKER_SWARM_PLUGIN_JENKINS_AGENT_SECRET我试图通过使用正则表达式传递代理名称(也在Jenkins插件配置的ENV部分):
JENKINS_AGENT_NAME=`echo $DOCKER_SWARM_PLUGIN_JENKINS_AGENT_JNLP_URL | sed ...`但是没有执行该命令(据我了解,这是出于安全原因,以避免代码注入)。
我想达到什么目标:我想在我的码头群上运行jenkins,我希望jenkins在一个构建代理容器中运行每个作业,这个容器在作业完成后丢弃。我希望构建代理容器在集群中传播(jenkins docker-plugin在jenkins主程序运行的节点上启动它们)。我知道对接者群插件应该做我想做的事情。我认为jenkins/jnlp-从映像就像我想要使用的那样构建代理容器。但我找不到办法让他们一起工作。
有人能给我一些建议吗?我是否应该使用另一个能更好地使用插件的图片呢?
发布于 2019-08-28 12:35:30
我打开了这个插件的https://github.com/jenkinsci/docker-swarm-plugin/issues/37,现在用PR https://github.com/jenkinsci/docker-swarm-plugin/pull/39添加了一个新的环境变量,并添加了创建的代理名称。这可以传递到码头形象和一切运作良好!
https://stackoverflow.com/questions/57377058
复制相似问题