当前位置: 首页 > 面试题库 >

Jenkins在两个slave上工作?

严元白
2023-03-14
问题内容

我们需要能够运行消耗两个奴隶的詹金斯工作。(或者,两个作业,如果我们可以保证它们同时运行,并且至少有一个可能知道另一个是什么。)这种情况是我们有一个重量级的应用程序,需要针对它进行测试。测试在一台计算机上运行,​​应用程序在另一台计算机上运行。将它们放在同一主机上是不切实际的。

现在,我们有一个Jenkins作业,该作业使用脚本启动专用的应用服务器,安装正确的版本,正确的数据,然后对其进行测试。这意味着当没有进行繁重的测试时,我不能使用专用的应用程序服务器来执行其他任务。这也几乎将我们限制为一个循环。能够动态分配应用服务器将允许更多服务器。

核心詹金斯显然没有办法做到这一点,但我希望有一些插件或黑客工具来实现这一目标。当前的html" target="_blank">测试版本是maven
2作业,但是如果我们必须将其包装在其他内容中,则可以配置。成功完成另一项工作可以拉开序幕,可以将其更改为开始两项,或者执行其他任何要求。


问题答案:

让我看看我是否理解这个问题。

  1. 您希望动态选择一个从属并在其上启动App Server。

  2. 当App服务器在从服务器上运行时,您不希望它运行任何其他作业。

  3. 但是,当App服务器未运行时,您希望将该Slave用作其他作业的其他Slave。

一种解决方法是标记奴隶。并使用“限制可以在哪里运行该项目”来使App Server和Test Suite在带有Slave标签的计算机上运行。

然后在从属节点中,将“执行者数”置为1。这将确保在任何时候都只运行一个Job。

下一步将创建一个作业,以启动App Server,然后在App Server启动作业成功后启动Test作业。

如果您的测试工作需要了解您的App服务器运行所在计算机的服务器详细信息,那么它将变得很有趣。



 类似资料:
  • Selenium代码在我的本地。但是,由于关于jenkins控制台输出的服务器连接错误,它不能在jenkins上工作。 詹金斯拥有openshift结构和chrome从属。我已经设置了selenium可以在chrome节点上工作的配置。 我还把硒代码写成了bdd(cucumber)。 webDriver的初始化方式如下: jenkins的输出为: 2019-02-12 16:14:54[main]

  • 我有一个Jenkins master运行在Windows Server2016上。我需要能够运行linux容器来运行一些自动化的e2e测试。由于我不想讨论的原因,我无法在这台机器上启用hyper-v。这使我无法在Jenkins master上安装lcow和docker 相反,我所做的是在virtualbox中设置一个Ubuntu18.04VM,并在那里安装docker。我已经将VM配置为Jenki

  • 问题内容: 通过Web Start启动从服务器后,我正在尝试安装Jenkins从服务器服务。尝试在Windows 10和Windows 8.1上安装时出现以下错误。 我可以在win 7上安装任何奴隶服务而没有任何问题。知道为什么会发生这种情况,或者是Jenkins的某些限制,还是我缺少一些依赖关系? 我的詹金斯版本是1.655,在安装时使用chrome浏览器。Jenkins master在Wind

  • Jenkins构建在Windows从机上运行会在构建开始时抛出以下错误: 我试过的:1。指定TF的完整路径。执行2。指定TF的路径。路径变量3中的exe。设置路径=。在构建过程初始阶段4。设置类路径=。在构建过程初始阶段5。设置类路径=。作为从机上的环境变量。 TF。exe是在Jenkins Slave service user下的任何目录下解析的,因此它不是TF的路径问题。exe文件 感谢您对使

  • 我遇到了一个奇怪的问题:我以docker映像运行我的从服务器,有时在主节点上作为docker容器运行,有时在ECS(Fargate)上使用Amazon弹性容器服务插件运行。 java.io.notSerializableException:com.xti.jenkins.plugin.awslambda.publish.lambdapublishServiceResponse at java.io

  • 前面的课程中我们学习了持久化数据存储在Kubernetes中的使用方法,其实接下来按照我们的课程进度来说应该是讲解服务发现这一部分的内容的,但是最近有很多同学要求我先讲解下 CI/CD 这块的内容,所以我们先把这块内容提前来讲解了。提到基于Kubernete的CI/CD,可以使用的工具有很多,比如Jenkins、Gitlab CI已经新兴的drone之类的,我们这里会使用大家最为熟悉的Jenkin