我有一个名为 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 上创建一个任务。