问题标签 [jenkins-docker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1738 浏览

docker - 将 Jenkins 凭据传递给 Docker 构建以供 Composer 使用

我在我们公司的 BitBucket 私有存储库中有一个作曲家包。要访问它,我需要使用存储在 Jenkins 中的凭据。目前整个构建基于声明式管道和 Dockerfile。要将凭据传递给 Composer,我需要在build阶段将这些凭据传递给 Dockerfile。

我怎样才能实现它?

我试过了:

args都是空的。

0 投票
0 回答
128 浏览

docker - 仅当以 root 身份启动 Gradle Docker 容器时,Gradle 项目的 Jenkins 构建才会成功

我有一个 Jenkins 作为独立服务器运行,即它没有作为 Docker 容器运行。为了使用 Gradle 构建我的应用程序,我使用的是 Docker 映像,如下所示。

我的问题如下:有一个 Gradle 任务试图访问目录/.npm。然而,jenkins启动 Docker 容器 ( uid=1002(jenkins) gid=1002(jenkins)) 的用户似乎没有这样做的权限。因此任务失败。

将管道语句更改docker.image("gradle:6.2.2-jdk8").inside("-u root -v ${HOME}/.gradle:/gradle为构建成功完成但随后我root在工作区中拥有无法被 Jenkins 删除的文件夹。

0 投票
1 回答
51 浏览

docker - 詹金斯:无法从詹金斯执行码头命令

我无法从 jenkins 执行任何 docker 命令并收到以下错误,

我尝试过的事情

1 ) jenkins 用户是 Jenkins master 上 docker 组的一部分

2)码头工人版本

如何解决这个问题?

0 投票
1 回答
281 浏览

jenkins - Jenkins 在 docker slaves 上并发构建

我有一个带有Docker 插件(1.1.9)和一个 docker 云 API的Jenkins 服务器(2.204.1) 。

我与 Jenkins docker 代理(奴隶)一起工作,并且我在容器和主机之间映射了 docker slave 构建工作区,以便能够将 Artifacts 引导到下游作业。

在 Jenkins 配置 - Docker 云详细信息 - 容器设置中:

Volumes /var/lib/jenkins:/var/lib/jenkins

这适用于单个构建,当我运行并发构建时问题就开始了,它们都映射到 Docker 主机上的同一个工作区并相互干扰。使用 docker slaves 并将工作空间映射为卷时,最佳实践是什么?

我不想在构建期间使用 $CustomWorkspace 或应对工件,因为这很难管理和清除。我更喜欢将 @2 添加到第二个并发构建的 Jenkins 常规从属方法,但这不是在 docker slaves 上运行并发构建时的行为

0 投票
1 回答
227 浏览

docker - 如何在 jenkins 管道中为 docker build 命令指向具体的 Dockerfile?

请让我知道如何在 jenkins 管道中为 docker build 命令指向具体的 Dockerfile?

我正在尝试从 Jenkins 管道提供 docker 构建,我正在使用通用代码来运行此构建,并且希望管道访问 dockerfile 所在的文件夹。如何让 docker 知道如何找到位于不同文件夹位置的 dockerfile。

0 投票
1 回答
579 浏览

jenkins-pipeline - docker-workflow-plugin (docker-pipeline-plugin) java.io.IOException: 无法 rm 容器

是否可以调整 docker-workflow-plugin / docker-pipeline-plugin 的清理例程?也许离开容器并允许管道代码在重试块中处理它的删除?

我有一份工作,在 8 个 EC2 实例 ECS 集群上运行的 64 个节点上运行 30 个这些子句的串行组,一个在清理期间失败

错误

0 投票
1 回答
1012 浏览

jenkins - 如果 Jenkins 管道被 dockerized,如何在 docker 主机上执行单步或构建后操作?

假设我有一个包含多个步骤的 dockerized 管道。docker 容器在开头定义Jenkinsfile

我想git在构建后操作中执行一些命令。问题是gradle图像没有git可执行文件。

script.sh:第 1 行:git:找不到命令

如何在 Docker 主机上执行它仍然使用gradle容器进行所有其他构建步骤?当然,我不想为每个步骤明确指定容器,而是指定特定的 post-post 操作。

0 投票
1 回答
95 浏览

docker - docker.image...inside with dir 和 ansiblePlaybook 导致 java.lang.ArrayIndexOutOfBoundsException

问题

如果我将 docker.image...inside 与 dir 和 ansiblePlaybook 结合起来,我会得到一个 java.lang.ArrayIndexOutOfBoundsException 并且因为我的 jenkins 代理没有使用-XX:-OmitStackTraceInFastThrow这就是我得到的全部。

关于为什么这是一个问题以及如何在不重新处理所有 dir 调用的情况下解决它的任何想法?

环境

  • 詹金斯 2.223
  • Ansible 插件 1.0
  • 码头工人插件 1.1.9
  • Docker 管道 1.22

错误

java.lang.ArrayIndexOutOfBoundsException

失败代码

成功代码

另外成功的代码

0 投票
1 回答
1779 浏览

jenkins - 在 Jenkins 管道中创建和使用新凭证的最佳方式?

所以我正在构建一个 Jenkins 管道来配置 (Terraform)、配置 (Ansible) 并从我们的容器注册表中部署一组“最新”标记的容器。

前两个阶段运行良好。主机已配置并配置为运行 Docker 容器。我有创建 DockerServerCredential 所需的 CA 证书、客户端证书和客户端密钥,但我一直坚持如何创建该凭据并在管道中使用它。换句话说,我不想在 Ansible 运行后结束管道,手动将凭证添加到 Jenkins,然后启动另一个管道以使用新凭证部署容器。我想使用 CA、证书和密钥值在我的管道中创建一个 DockerServerCredential,然后将该凭据的名称传递给 docker.withServer()。

所以我知道我可以将它添加到我的 Jenkinsfile 中:

但我知道最佳实践 doco 说要避免在管道中使用 Jenkins.getInstance它需要我将“staticMethod com.cloudbees.plugins.credentials.domains.Domain global”和“staticMethod jenkins.model.Jenkins getInstance”添加到脚本批准中,我宁愿使用:///。

所以我的问题是:你会怎么做?这里的最佳做法是什么?

PS我什至不需要保留凭证,所以如果有一个创建临时凭证的包装器,那将是超级理想的,但我一直找不到。

PPS 以前没有创建过插件,我希望我可以避免这样做。

0 投票
1 回答
27 浏览

docker - 用两个单独的容器组合制作一个新容器

我想要一个同时安装了 docker 应用程序和 jenkins 应用程序的容器。
我尝试从 Dockerfile 构建一个新容器 - ` FROM :docker FROM :jenkins/jenkins

但它似乎只有 jenkins 而没有 docker 。`