问题标签 [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.
jenkins - 如何告诉 jenkins 的 junit-plugin 处理在 docker-container 中创建的测试报告文件?
我有一个在 Dockerfiles 中进行构建、测试和部署过程的项目,我想对其应用 jenkins 管道。我想让詹金斯部分尽可能简单、苗条和不可知。可以为 jenkins 安装其他插件。可以修改 dockerfiles。
例如考虑这个 Jenkinsfile
在此示例中,后块创建以下输出
在此示例中,似乎创建了所需的文件,但 junit-plugin 似乎找不到它。我将如何修改此示例以便 junit-plugin 可以找到测试报告文件?
附加说明/背景:
- 输出似乎创建成功,但它们属于 root 而不是 jenkins 用户。难道这就是junit看不到他们的原因吗?
- 在我的具体情况下,有一些失败的测试,但我不认为它们是问题的根源
- 报告文件是使用 dockercontainer 内的 karma-junit-reporter 创建的
- 我是詹金斯的新手,所以我想我可能在根本上做错了什么
- 我想使用 docker-plugin for jenkins 会起作用,尽管我仍然必须从容器中取出 junit 工件并将其传递给 Jenkins JUnit 插件。欢迎使用 docker-plugin 回答。
- 我在 dockerfile 中的测试是业力/角度测试,需要在跑步者上安装铬。如果事实证明在 docker 中这样做太烦人了,那么我可能会在所有代理上安装 chromium,并为 jenkins 使用 nodejs-plugin。但现在我仍在研究不同的选择
docker - 我无法从 Jenkins Docker Containers 卷曲到我的已部署应用程序
我在本地机器上部署了以下容器:
- student-app:是我的测试应用
- karson-jenkins:是我的第一个 jenkins,它使用已发布的 localhost ip 和端口 8082 以及 docker 网络作为桥接器运行
- karson-jenkins-host:是我的第二个 jenkins,它以 docker 网络作为主机运行
我能够从浏览器成功启动并导航到我的被测应用程序 (AUT) 和 Jenkins 站点,如下所示:
我的问题是我无法从使用已发布 IP 和映射端口 8082 运行的 Jenkins 容器中卷曲到我的应用程序 url,尽管它与我的应用程序属于同一个网络并且 docker 网络是Bridge,这使得我发送了 api 请求对詹金斯作业执行测试时应用程序收到错误连接被拒绝
我还尝试使用--network=host
indocker run
命令为 jenkins 运行另一个 docker 容器,并且我能够卷曲到我的 AUT url。但另一个问题是我无法找到任何方法来访问我运行的 jenkin url docker network host
。我试图导航到http://host.docker.internal:8080/和http://host.docker.internal/但他们都没有成功
您的任何帮助,以帮助我澄清我的问题并解决它,我确实将非常感激。
docker - java.lang.NoSuchMethodError:在步骤中找不到这样的 DSL 方法“dockerImage”
--------错误--------------- java.lang.NoSuchMethodError: 在步骤中找不到这样的 DSL 方法 'dockerImage' ...
我寻找问题并修复它们,但我不知道。
docker - 在生产环境中将 Jenkins 服务器作为 Docker 容器运行
我正在研究用 docker Jenkins 服务器替换默认生产 Jenkins 服务器的能力。这样做的主要原因是有机会在未来保存所有配置等快速部署其他 Jenkins 服务器。有人有此活动的经验吗?使用容器化的 Jenkins 进行生产是否有意义?
docker - 如何在 Windows 代理 - 无效绑定挂载规范上运行 jenkins docker 映像?
我有在 linux 服务器上运行的 jenkins 实例,以及由控制器连接的其他 linux 和 windows 代理。我正在尝试通过 pipline 脚本运行 docker 映像,该脚本将在远程节点上执行一些阶段。尝试在 linux 上执行此操作时,它可以工作,但是当尝试在 windows 上执行此操作时,我收到以下错误:
由于中间有 2 个冒号,我觉得它是合理的,但这是使用插件执行的运行命令。
管道脚本:
知道如何解决吗?我应该在机器上或詹金斯实例上配置一些东西来解决它吗?
jenkins-pipeline - 如何避免在 Jenkinsfile 中构建两次以获得不同的图像名称?
在我们的项目中,我们在构建时附加分支名称,除非它是 master。我们用 build_id 和“最新”标记它们。这就是我们想要的。
为了实现这一点,我们在主分支上构建了两次。我觉得这很奇怪。我们怎样才能避免呢?
jenkins-job-dsl - 如何在分支中将 origin/${gitlabSourceBranch} 作为字符串('origin/${gitlabSourceBranch}')
我正在从事工作 dsl 以自动安装 docker jenkins。所以我正在使用 casc.yaml 文件进行编辑。但是现在我有一个问题,我无法设置分支,因为'origin/${gitlabSourceBranch}'
我想让'${gitlabSourceBranch}
' 像字符串一样工作。但它似乎作为表达式工作,就像他们正在寻找 env 变量一样。我不希望他们那样工作。
请帮助我使其正常工作。
docker - Jenkins 构建代理 docker 指定 docker 文件名
我正在按照这个片段添加到 jenkins 构建代理的 docker 文件(https://www.jenkins.io/doc/book/pipeline/docker/),
'dockerfile true'查找默认的 Dockerfile。有没有一种方法可以指定 docker 文件名,因为我不想使用默认文件名,因为我的设置与已经存在的设置不同?