问题标签 [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 投票
1 回答
531 浏览

jenkins - how to configure docker to limit the range of ports for spinning up containers

We are using Jenkins and docker for doing CI/CD. Our Jenkins is setup as master/slave style, where slaves are distributed across different data centers. when a new build needs to happen Jenkins master identifies a slave in one of the DC and spin up a ephemeral container and tear it down once done.

Due to firewall limitations, we only have about 10 ports open for the slaves in some of the DCs. for example Port Range: 8000 - 8010. In general docker uses the linux port ranges 32768 to 61000. The problem is Jenkins master can not talk to the containers if the host port is bound out of 8000 - 8010. Jenkins docker plugin has limitation where you can not bind multiple ports (may be I am wrong here). I would like to know if any way we can configure this at docker end or in Jenkins docker plugin.

0 投票
3 回答
1035 浏览

jenkins - 如何有效且更快地杀死大量 docker 容器进程?

我们正在结合使用 Jenkins 和 Docker。我们已经建立了 Jenkins 主/从模型,并且容器在从代理中旋转。有时由于 jenkins docker 插件中的错误或某些未知原因,容器会悬空。

杀死它们需要时间,每个容器进程大约需要 5 秒,我们有大约 15000 个。大约需要 24 小时才能完成运行清理作业。如何一次取出一堆容器?或有效地减少时间?

  1. 会卸载 docker 客户端,删除容器吗?
  2. 是否有保留这些容器进程的卷,可以删除(坏主意)
  3. 任何线程/并行性可以更快地删除它们?我将每周运行一次 cron 作业来修补这些错误,但现在我没有一整天的时间来删除这些错误。
0 投票
1 回答
34 浏览

jenkins - 更新作业配置的 Jenkins 脚本:受限代理和使用 docker 容器

我正在使用 Jenkins 脚本来更新几个作业。我能够更新描述、SCM 凭据等。

但我找不到如何:

  • a)取消设置限制代理的选项(限制该项目可以运行的位置)
  • b)设置选项“Docker容器”(DockerJobProperty)

詹金斯版本:1.609.3

提前感谢您的帮助。

问候,塞巴斯蒂安

0 投票
1 回答
624 浏览

jenkins-docker - Jenkins-Docker 插件配置

我正在尝试在 jenkins 中配置 Docker-plugin,需要一些细节。

如何找到网址?我用 localhost:8080 验证,测试连接失败,连接被拒绝。我不确定我在配置中缺少什么。

任何请帮助所需的详细信息?

0 投票
1 回答
3326 浏览

jenkins - docker 中的 Jenkins slave 拒绝 SSH 密钥

我在 docker 容器中运行 Jenkins。在另一个 docker 容器中关闭节点时,我收到以下消息:

使用docker exec -i -t slave_name /bin/bash命令我可以进入 home/jenkins/.ssh 目录以确认 ssh 密钥是预期的位置。

在我的配置页面上的 CLOUD 标题下,测试连接返回

版本 = 1.12.3,API 版本 = 1.24

.

我正在运行 OSX Sierra 并尝试遵循 RIOT Games Jenkins-Docker 教程http://engineering.riotgames.com/news/building-jenkins-inside-ephemeral-docker-container

Jenkins Master Docker 文件:

詹金斯奴隶 Dockerfile

我一直在和另一个人一起在一个被困在同一个地方的 Linux 机器上做同样的教程。任何帮助,将不胜感激。

0 投票
0 回答
261 浏览

rancher - jenkins-docker 无法设置云凭据

我正在尝试设置 jenkins-docker 插件以使用 Rancher 系统运行。要启动 docker 容器,需要使用 rancher api 和用户名/密码身份验证。

在“云”部分下的“Jenkins 配置”页面中,有一个选项对话框允许您选择要使用的凭据。但是,下拉列表的内容仅包含值 -none-。

我已经定义了所需的凭据,并添加了“Docker Commons 插件”,但我无法填充下拉菜单。

当我尝试通过按“测试连接”来测试连接时,会显示以下 JSON 响应。

{"id":"74519136-000d-4da0-b349-0219b7eb8987","type":"error","links":{},"actions":{},"status":401,"code":"未经授权","消息":"未经授权","详细信息":null}

jenkins-plugin 支持 Rancher 吗?我使用正确吗?

谢谢理查德

0 投票
1 回答
105 浏览

jenkins - 使用 Jenkins 部署 Docker

我将 Jenkins 用于我的 CCID 东西。我有两台服务器,一台是 server1,另一台是 server2。在 server1 中我安装了 Jenkins(未安装 Docker),在 server2 中我安装了 Docker。

我在我的 JenkinsFile 中为我的 docker 构建过程使用了docker.build命令并在 server1 中运行它,但它抛出“找不到 docker 命令”,因为 server1 中没有安装 Docker。我使用的代码如下:

我需要在 server2 上运行这些 Docker 命令。

0 投票
1 回答
9637 浏览

jenkins - 多配置作业中的 Jenkins Pre-Build 和 Post-Build

我们使用多配置作业来测试 2 个独立组件的各种组合以进行兼容性测试。这些是我们的兼容性验收测试。我们执行以下步骤

  1. 使用 docker 和 docker-compose 在我们部署这些组件的地方准备测试环境。(为我们预建)
  2. 运行多配置作业以测试兼容性
  3. 清理 - 停止容器(构建后)

我们为第 1 步和第 3 步设置了专门的作业,并使用多作业进行合并视图。

是否有可能有一个统一的工作来做到这一点?可能

  1. 在开始多配置的父作业之前,我们设置我们的环境。
  2. 运行多配置的所有组合
  3. 父工作岗位构建确实清理。
0 投票
1 回答
2937 浏览

testing - 在 Docker 容器中运行 Jenkins 测试从代码库中的 dockerfile 构建

我想部署一个基于 Jenkins 的持续集成平台。由于我有各种各样的项目(PHP / Symfony、node、angular,……),并且我希望这些测试在本地和 Jenkins 上运行,我正在考虑使用 Dockers 容器。

我的目标是:

  • 在 Github / Gitlab 上打开了一个合并请求
  • 一个 webhook 通知 Jenkins 合并请求
  • Jenkins 拉取 repo,构建容器并运行 shell 脚本来执行测试
  • 测试完成后,Jenkins 从其中一个容器中检索结果(通过共享卷)并处理结果。

我不希望詹金斯在一个容器中。

通过这种过程,我希望能够非常轻松地在每台开发人员机器上运行测试,例如 adocker-composer up然后在其中一个容器中运行./tests all

我对詹金斯不是很熟悉。我已经阅读了很多文档,但其中大多数建议事先为每种项目定义 Jenkins slave。我希望一切都尽可能动态,并尽可能减少对 Jenkins 的配置。

如果您曾经实现过类似的东西,我将不胜感激您的测试过程的描述。如果您认为我的目标是不可能的,如果您能向我解释原因,我也将不胜感激。

0 投票
1 回答
1188 浏览

amazon-web-services - 如何在 Jenkins 从站中运行并行构建?

我有一个 Jenkins 主机,并且我已将 Jenkins 配置为在 AWS ECS 中创建按需 docker slave。这种设置效果很好,每当我运行构建时,就会在 ECS 中创建新的从属设备,并且该从属设备用于执行构建。我的问题是我无法在 docker slaves 中运行并发构建。

当我运行第二个构建时,构建将保留在队列中,直到第一个构建完成。只有在第一次构建完成后才会执行第二次构建。

有没有办法通过在 ECS 中动态创建新的 docker slave 来同时运行构建?

我已按照此链接在 AWS ECS https://www.youtube.com/watch?v=v0b53cdrujs中设置我的 docker slave