在Fargate上创建Jenkins代理

在Fargate上创建Jenkins代理,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,我想使用Fargate创建Jenkins构建代理。我在管道中尝试了很多方法来让它工作,但是我找不到正确的配置 感谢您的帮助 我当前的设置包含: Amazon EC2 Container Service cloud: Name: aws-cloud Amazon ECS Credentials: (none, host has an IAM role that should be sufficient, this Jenkins is already managing static agen

我想使用Fargate创建Jenkins构建代理。我在管道中尝试了很多方法来让它工作,但是我找不到正确的配置

感谢您的帮助

我当前的设置包含:

Amazon EC2 Container Service cloud: 
Name: aws-cloud 
Amazon ECS Credentials: (none, host has an IAM role that should be sufficient, this Jenkins is 
already managing static agents on Fargate) 
AWS Region: us-east-1 
ECS Cluster ID (arn:xxxxx:::cluster/jenkins-slave
ECS从属模板:

Label: docker
Docker Image: jenkinsci/jnlp-slave
Filesystem root: /home/jenkins
Memory: 2048
CPU units 1024
詹金斯档案:

pipeline {
agent none

stages {
    stage('Test') {
      agent {
            ecs {
               cloud 'aws-claims'
               launchType 'FARGATE'
               memory 2048
               cpu 1024
               assignPublicIp false
               inheritFrom 'docker'
               label 'sbt'
            }
        }

       steps {
            sh 'env'
        }
    }
}
}

我在我的管道中尝试了许多不同的变体来配置它,但大多数都会给我一个类似的错误

错误:无法使用标签[sbt]确定云配置, 继承自:“docker”,云:“aws云”


最初的问题是,我安装了“具有自动缩放功能的AmazonEC2容器服务”插件以及“AmazonElasticContainerService(ECS)/Fargate”。删除容器服务插件解决了我的问题。

您必须首先配置声明性管道中允许的设置列表(请参阅允许的覆盖设置)。出于安全原因,默认情况下会禁用它们

另外,由于您使用的是inheritFrom,我认为您不需要在那里使用label,您可以在“inheritFrom”中直接提到同样的内容

e、 g

代理{
ecs{
继承自“”
    agent {
    ecs {
    inheritFrom '<your label name>'