有没有一种方法可以在脚本管道中启动Jenkins节点?

nwlqm0z1  于 2023-06-21  发布在  Jenkins
关注(0)|答案(1)|浏览(131)

这就是我试图解决的问题:
我有一个注册为Jenkins节点的EC2示例。但是,如果作业中需要,EC2示例会启动/停止。我需要能够在启动示例后启动代理。管道应该是这样的:
1.启动示例(在构建步骤中通过AWS CLI)
1.在示例上启动Jenkins代理
1.在示例上执行生成步骤
1.停止示例(在构建步骤中通过AWS CLI)
我知道有一个插件可以让你根据需要从AMI启动示例,但这不是我的用例。我只需要在管道中找到一种方法来告诉jenkins“这个节点现在可以访问了,在这个节点上启动代理”。
任何帮助是赞赏!

hof1towb

hof1towb1#

jclouds插件有一个非常好的文档。
您必须进入Dashboard > Manage Jenkins > nodes & Clouds > clouds。您需要“制作”自己的Jenkins代理映像并使用它,或者使用一个init脚本和一个标准AMI映像。
示例:

#!/usr/bin/env bash
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install git yum-utils zip unzip jq -y
yum -y install java-11-openjdk java-11-openjdk-devel -y....

要在管道中使用标签上的代理:

stages {
  stage('Build') {
    agent { label 'my-aws-dynamic-agent-01' }
    steps{....}
  }
}

相关问题