任务定义覆盖 - Fargate - Jenkins AWS ECS 插件

时间:2021-04-20 13:46:19

标签: amazon-web-services jenkins amazon-ecs aws-fargate

我有一个名为 test 的 ECS 集群(Fargate)和一个运行 nginx 映像的任务定义,如下所示。我正在尝试测试任务定义覆盖功能。

我正在尝试在 Jenkins 上使用和运行以下内容:


ecsTaskTemplate(
    cloud: 'test',
    label: 'fargate',
    name: 'fargate', // Reusing the label as a name makes sense as long as it's unique
    containerUser: 'ubuntu',
    remoteFSRoot: '/home/ubuntu',
    overrides: [],
    taskDefinitionOverride: "arn:aws:ecs:ca-central-1:123456789:task-definition/nginx:12"
) {
  node(fargate) {
    stage("I dunno why you say goodbye"){
      sh 'echo hello'
    }
  }
}

运行这个错误是:

[test-fargate-mkcz4]: Error in provisioning; agent=com.cloudbees.jenkins.plugins.amazonecs.ECSSlave[test-fargate-mkcz4]
java.lang.NullPointerException
    at com.cloudbees.jenkins.plugins.amazonecs.ECSService.runEcsTask(ECSService.java:426)
    at com.cloudbees.jenkins.plugins.amazonecs.ECSLauncher.runECSTask(ECSLauncher.java:213)
    at com.cloudbees.jenkins.plugins.amazonecs.ECSLauncher.launchECSTask(ECSLauncher.java:149)
    at com.cloudbees.jenkins.plugins.amazonecs.ECSLauncher.launch(ECSLauncher.java:110)
    at hudson.slaves.SlaveComputer.lambda$_connect$0(SlaveComputer.java:294)
    at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
    at jenkins.security.ImpersonatingExecutorService$2.call(ImpersonatingExecutorService.java:71)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

这里可能有什么问题,我假设这会创建一个模板,然后在 Fargate 上创建一个任务。

0 个答案:

没有答案