问题标签 [jenkins-slave]

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 回答
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

0 投票
1 回答
2330 浏览

shell - Jenkins Slave 打印消息无法联系从属主机:java.io.IOException:对 /10.0.2.2 的通道上的远程调用失败

我有 Jenkins 2 Master 和 Jenkins 2 Slave。当我开始构建时,它是成功的,但是当我检查构建控制台时,我可以看到多行带有以下消息:

无法联系从主机:java.io.IOException:对 /10.0.2.2 的通道上的远程调用失败

下面是配置:

詹金斯大师- 码头工人

Jenkins Slave - 运行 Oracle Linux

执行 shell 命令时会抛出错误消息。

詹金斯文件的一部分

难道我做错了什么?

0 投票
2 回答
195 浏览

jenkins - 詹金斯复杂的构建流程,有可能吗?

在此处输入图像描述

我想要一个看起来像这样的 Jenkins 构建流程。

  • 触发构建后,所有从站并行运行相同的作业(设置作业)。
  • 如果有任何奴隶未能完成这项工作,他们不应该继续。
  • 对于所有通过该工作的奴隶,他们应该从需要完成的工作池中获取一份工作。一旦奴隶完成了一项工作,他们应该回去完成池中的另一项工作。

几周前我才开始与 Jenkins 合作,他们现在设置它的方式是因为每个作业都由一个奴隶接手,他们必须先运行设置作业。这确实会减慢构建时间,因为我有大约 30 个作业,并且设置需要大约 2 分钟。

我使用 Jenkins 作为自动化测试平台,作业池中的所有作业都可以彼此独立运行。我目前有 5 个奴隶和约 30 个工作。

0 投票
2 回答
1669 浏览

bash - Docker Jenkins slave错误的字符编码

我正在使用这个Jenkins slave docker 镜像,它基于 ubuntu:14.04

我想使用一个包含 UTF-8 字符的字符串参数。

öüóőúűáéí(匈牙利字符)这样的字符将被替换为question marks

正如这张票所提到的,我试图通过-e LANG=hu_HU.UTF-8bash -c "locale-gen hu_HU.UTF-8"到达码头。我还放置export LANG=hu_HU.UTF-8到 Jenkins 用户的.bashrc字符仍然被替换。我也试过en_US.UTF-8

我也尝试对 Jenkins Job 做同样的事情:

输出是一样的。

谢谢你。

0 投票
2 回答
4512 浏览

jenkins - jenkins swarm 插件:无法连接到 master。拒绝连接

我正在使用 jenkins swarm 插件将一个从节点连接到一个主节点。但是,它给出了Connection Refused错误。

我正在使用 docker swarm 在多节点集群上部署它。现在我仅使用单个节点设置进行测试,这是我的设置文件:

并且它是使用命令部署的,docker stack deploy因此上述每个服务都有自己的内部负载均衡器。

Jenkins 通过 nginx 在网络上提供服务。但是我还保留了端口 8080 以进行调试。如果我打开浏览器并点击http://localhosthttp://localhost:8080,我可以访问 jenkins Web 界面。在 master 上,我已经安装了 jenkinsswarm插件。linuxagent如果我从打算作为从节点的容器进入 bash shell ,我可以 ping 其他 docker 服务,但是当我尝试运行swarm-client-3.3.jar文件时会发生这种情况。

如果我尝试访问 jenkins,我可以通过访问http://myproject_master:8080

另外,我可以通过http://myproject_nginx

如果我尝试为 swarm 启动 jar 文件,我会收到以下错误:

似乎问题是从服务器希望主服务器成为myproject_nginx并因此命中50000失败的端口,因为该服务没有50000暴露端口。所以为了这个目的,我已经暴露了端口8080和服务。但是当我尝试那个 url 时,我得到一个不同的错误50000myproject_master

这是我完全陷入困境并且无法理解如何解决问题的地方。是否会因为从站在负载均衡器后面运行而出现问题?或者我想要完成的架构中有什么根本性的错误吗?我希望能够linuxagent动态扩展服务,以便每个节点都充当从代理,并且只要启动它就与主节点连接。我阅读了swarmjenkins的插件,发现它可以用来实现这种设置

0 投票
1 回答
10404 浏览

jenkins - 无法启动詹金斯奴隶

当我尝试启动我的詹金斯奴隶时,奴隶存在错误:

有没有什么办法解决这一问题?我用谷歌搜索,搜索,搜索,但找不到任何东西来解决这个问题。

0 投票
1 回答
3353 浏览

node.js - env: node: 没有这样的文件或目录(使用 jenkings、windows 机器、节点和远程 Web 界面)

最近我正在做一个 ios 构建,通过我的 IP 地址使用远程 Web 界面远程启动一个 mac 从站。

我已经尝试卸载 node / npm 并重新安装它,但是在我安装cordova后它仍然会出现同样的错误。

我还检查了我的 node 目录是否正确,并且很好:

在此处输入图像描述

我也已经尝试过将其放在set +e我的 shell 脚本顶部的解决方案,但之后它仍然无法正常工作。

我已经尝试解决这个问题5天了,但仍然没有解决,所以我希望你们能在这种情况下进一步帮助我。

此错误发生在ios构建开始时。

我尝试了很多很多解决方案,但没有一个奏效。我真的希望这个问题能尽快得到解决,已经提前感谢了!

编辑:

我已经尝试了以下这些答案:

  1. https://github.com/nodejs/node-v0.x-archive/issues/3911
  2. Express.js:没有这样的文件或目录
  3. 无法安装 NodeJs:/usr/bin/env:节点:没有这样的文件或目录
  4. browserify error /usr/bin/env: node: No such file or directory
0 投票
0 回答
327 浏览

jenkins - Jenkins 需要很长时间才能检测到从站断开连接

我正在尝试配置 jenkins 以在作业失败时重新安排作业,因为它正在运行的从属设备死亡(网络问题、电源问题等)。

我的詹金斯有一个父(管道)工作,它调用了许多子构建工作。当我在运行作业时手动断开从属设备上的网络电缆时,构建作业未标记为失败/中止至少 15 分钟的问题。我已在 Build Enivronment 中的“如果构建被卡住则中止构建”下手动将超时设置为 3 分钟,但此时没有任何反应(时间戳:12:37)。我如何确保詹金斯快速确定奴隶何时死亡,而不是等待它目前正在做的 15-20 分钟。您可以在我的虚拟作业上看到时间戳,它只打印“Hello”味精:

0 投票
1 回答
1067 浏览

jenkins - 从 jenkins slave 加载 groovy 脚本

我有一个 jenkins 管道,它加载一个像这样的 groovy 实用程序脚本:

当我在主节点上执行管道时,一切都很好。在这种情况下,我可以在管道中使用我的类 Utils 中的方法。

当我尝试在slave中执行我的管道时,我的问题出现了。在这种情况下,上面的负载会导致错误

java.io.IOException: java.io.FileNotFoundException: /var/lib/jenkins/utils/Utils.groovy (没有这样的文件或目录)

为了避免这个错误,在管道中,我像这样在主节点中加载文件

这不是很有效,我不想只使用主节点来加载文件您对如何在从节点上加载 Groovy scipt 有任何建议吗?

谢谢

0 投票
0 回答
1216 浏览

jenkins - 如何从 groovy 获取 Jenkins 节点配置

我想在作业中使用 groovy 脚本来读取在 Jenkins GUI 的节点配置中查看的所有节点配置。我知道可以使用 REST API 来获取节点配置,但我想知道如何使用可用的库方法来做到这一点,例如来自系统 Groovy 脚本。

如果启动方法设置为 SSH,我设想类似这样的伪代码来打印主机,因为它是在“启动方法”设置中配置的:

在 Groovy 中访问 Jenkins 全局属性的答案似乎可能是相关的?