应该如何使用 jenkinsci/jnlp-slave 进行复杂的构建?

Posted

技术标签:

【中文标题】应该如何使用 jenkinsci/jnlp-slave 进行复杂的构建?【英文标题】:How one should use jenkinsci/jnlp-slave for complex builds? 【发布时间】:2017-08-13 07:19:14 【问题描述】:

我在 jenkinsci/jnlp-slave docker 镜像和 ECS 插件 https://wiki.jenkins-ci.org/display/JENKINS/Amazon+EC2+Container+Service+Plugin 上苦苦挣扎

我正在使用复杂的 docker 容器(基于 CentOS)进行构建。 它在本地 docker 上完美运行,但我想尝试上面的 ECS 和插件。

如果我在我的大 Dockerfile 末尾添加 "FROM jenkinsci/jnlp-slave",它会破坏整个环境,没有任何作用(没有 yum、没有 gcc、没有 npm 等) p>

它在 Dockerfile 的开头也不起作用。

FROM jenkinsci/jnlp-slave

FROM centos:6.8

[...]

在这种情况下,主设备没有连接到从设备。

我将不胜感激。

【问题讨论】:

【参考方案1】:

找到了解决办法。刚刚在我巨大的 Dockerfile 的末尾添加了以下几行:

COPY /files/slave.jar /tmp/slave.jar
COPY /files/jenkins-slave /usr/local/bin/jenkins-slave
RUN chmod 777 /usr/local/bin/jenkins-slave
USER jenkins
ENTRYPOINT ["/usr/local/bin/jenkins-slave"]

(显然slave.jarjenkins-slave 必须存在于files 文件夹中)

jenkins-slave 可以找回from this project

【讨论】:

以上是关于应该如何使用 jenkinsci/jnlp-slave 进行复杂的构建?的主要内容,如果未能解决你的问题,请参考以下文章

CAD版本转换应该如何进行使用?

FormControl 是做啥用的?为啥使用它?应该如何使用?

我应该如何在 android 中使用 JWT?

我应该如何使用 DataflowBlockOptions.CancellationToken?

如何知道应该使用哪个 cuDNN 版本?

我应该在 __main__.py 中使用啥形式的导入,然后我应该如何运行项目?