问题标签 [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.
docker - 将 Jenkins 凭据传递给 Docker 构建以供 Composer 使用
我在我们公司的 BitBucket 私有存储库中有一个作曲家包。要访问它,我需要使用存储在 Jenkins 中的凭据。目前整个构建基于声明式管道和 Dockerfile。要将凭据传递给 Composer,我需要在build
阶段将这些凭据传递给 Dockerfile。
我怎样才能实现它?
我试过了:
但args
都是空的。
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 删除的文件夹。
docker - 詹金斯:无法从詹金斯执行码头命令
我无法从 jenkins 执行任何 docker 命令并收到以下错误,
我尝试过的事情
1 ) jenkins 用户是 Jenkins master 上 docker 组的一部分
2)码头工人版本
如何解决这个问题?
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 上运行并发构建时的行为
docker - 如何在 jenkins 管道中为 docker build 命令指向具体的 Dockerfile?
请让我知道如何在 jenkins 管道中为 docker build 命令指向具体的 Dockerfile?
我正在尝试从 Jenkins 管道提供 docker 构建,我正在使用通用代码来运行此构建,并且希望管道访问 dockerfile 所在的文件夹。如何让 docker 知道如何找到位于不同文件夹位置的 dockerfile。
jenkins-pipeline - docker-workflow-plugin (docker-pipeline-plugin) java.io.IOException: 无法 rm 容器
是否可以调整 docker-workflow-plugin / docker-pipeline-plugin 的清理例程?也许离开容器并允许管道代码在重试块中处理它的删除?
我有一份工作,在 8 个 EC2 实例 ECS 集群上运行的 64 个节点上运行 30 个这些子句的串行组,一个在清理期间失败
错误
jenkins - 如果 Jenkins 管道被 dockerized,如何在 docker 主机上执行单步或构建后操作?
假设我有一个包含多个步骤的 dockerized 管道。docker 容器在开头定义Jenkinsfile
:
我想git
在构建后操作中执行一些命令。问题是gradle
图像没有git
可执行文件。
script.sh:第 1 行:git:找不到命令
如何在 Docker 主机上执行它仍然使用gradle
容器进行所有其他构建步骤?当然,我不想为每个步骤明确指定容器,而是指定特定的 post-post 操作。
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
失败代码
成功代码
另外成功的代码
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 以前没有创建过插件,我希望我可以避免这样做。
docker - 用两个单独的容器组合制作一个新容器
我想要一个同时安装了 docker 应用程序和 jenkins 应用程序的容器。
我尝试从 Dockerfile 构建一个新容器 - ` FROM :docker FROM :jenkins/jenkins
但它似乎只有 jenkins 而没有 docker 。`