jenkins构建后,aws ecs update-service无法正常运行期望计数= 1,但运行= 0

时间:2019-04-30 14:34:16

标签: jenkins-pipeline terraform amazon-ecs

什么工作正常

我已经使用terraform脚本成功创建了AWS ECS集群

具有以下参数

max_instance_size = 2
min_instance_size = 1
desired_capacity  = 1

"maximumPercent": 100,
"minimumHealthyPercent": 0

当我创建此Cluster时,一切正常。我的应用程序已启动并且正在运行,并且可以通过Load Balancer进行访问。

给什么问题

现在我有一个詹金斯工作要做,请按照以下步骤操作

  1. 结帐
  2. 构建应用程序
  3. 创建Docker映像
  4. 将Docker映像推送到Hub
  5. 通过任务定义更新部署映像。

这是詹金斯代码段

stage("Deploy") {

sh  "sed -e  's;%BUILD_TAG%;${BUILD_NUMBER};g' accountupdateecs-task-defination.json > accountupdateecs-task-defination-${BUILD_NUMBER}.json"

def currTaskDef = sh (returnStdout: true,script:  "aws ecs describe-task-definition  --task-definition ${taskFamily}| egrep 'revision'| tr ',' ' '| awk '{print \$2}'").trim()  

def currentTask = sh (returnStdout: true,script:  "aws ecs list-tasks  --cluster ${clusterName} --family ${taskFamily} --output text | egrep 'TASKARNS' | awk '{print \$2}' ").trim()

if(currTaskDef) {sh  "aws ecs update-service  --cluster ${clusterName} --service ${serviceName} --task-definition ${taskFamily}:${currTaskDef} --desired-count 0 "}

if (currentTask) {sh "aws ecs stop-task --cluster ${clusterName} --task ${currentTask}"}

sh  "aws ecs register-task-definition  --family ${taskFamily} --cli-input-json ${taskDefile}"

def taskRevision = sh (returnStdout: true, script:  "aws ecs describe-task-definition  --task-definition ${taskFamily} | egrep 'revision' | tr ',' ' ' | awk '{print \$2}'").trim()

sh  "aws ecs update-service  --force-new-deployment --cluster ${clusterName} --service ${serviceName} --task-definition ${taskFamily}:${taskRevision} --desired-count 1" 

}

问题

成功执行作业后,我总是可以在群集中看到

desired-count = 1
running       = 0

该应用程序不可用。

这是詹金斯的成功日志

+ aws ecs update-service --force-new-deployment --cluster FinanceManagerCluster --service financemanager-ecs-service --task-definition accountupdateapp:20 --desired-count 1
{
    "service": {
        "serviceArn": "arn:aws:ecs:us-east-1:3432423423423:service/financemanager-ecs-service",
        "serviceName": "financemanager-ecs-service",
        "clusterArn": "arn:aws:ecs:us-east-1:3432423423423:cluster/FinanceManagerCluster",
        "loadBalancers": [
            {
                "targetGroupArn": "arn:aws:elasticloadbalancing:us-east-1:3432423423423:targetgroup/ecs-target-group/ed44ae00d0de463d",
                "containerName": "accountupdateapp",
                "containerPort": 8181
            }
        ],
        "status": "ACTIVE",
        "desiredCount": 1,
        "runningCount": 0,
        "pendingCount": 0,
        "launchType": "EC2",
        "taskDefinition": "arn:aws:ecs:us-east-1:3432423423423:task-definition/accountupdateapp:20",
        "deploymentConfiguration": {
            "maximumPercent": 100,
            "minimumHealthyPercent": 0
        },
        "deployments": [
            {
                "id": "ecs-svc/9223370480222949120",
                "status": "PRIMARY",
                "taskDefinition": "arn:aws:ecs:us-east-1:3432423423423:task-definition/accountupdateapp:20",
                "desiredCount": 1,
                "pendingCount": 0,
                "runningCount": 0,
                "createdAt": 1556631826.687,
                "updatedAt": 1556631826.687,
                "launchType": "EC2"
            },
            {
                "id": "ecs-svc/9223370480223135598",
                "status": "ACTIVE",
                "taskDefinition": "arn:aws:ecs:us-east-1:3432423423423:task-definition/accountupdateapp:19",
                "desiredCount": 0,
                "pendingCount": 0,
                "runningCount": 0,
                "createdAt": 1556631640.195,
                "updatedAt": 1556631823.692,
                "launchType": "EC2"
            }
        ],
        "roleArn": "arn:aws:iam::3432423423423:role/ecs-service-role",
        "events": [
            {
                "id": "967c99cc-5de0-469f-8cdd-adadadad",
                "createdAt": 1556631824.549,
                "message": "(service financemanager-ecs-service) has begun draining connections on 1 tasks."
            },
            {
                "id": "c4d99570-408a-4ab7-9790-adadadad",
                "createdAt": 1556631824.543,
                "message": "(service financemanager-ecs-service) deregistered 1 targets in (target-group arn:aws:elasticloadbalancing:us-east-1:3432423423423:targetgroup/ecs-target-group/ed44ae00d0de463d)"
            },
            {
                "id": "bcafa237-598f-4c1d-97e9-adadadad",
                "createdAt": 1556631679.467,
                "message": "(service financemanager-ecs-service) has reached a steady state."
            },
            {
                "id": "51437232-ed5f-4dbb-b09f-adadadad",
                "createdAt": 1556631658.185,
                "message": "(service financemanager-ecs-service) registered 1 targets in (target-group arn:aws:elasticloadbalancing:us-east-1:3432423423423:targetgroup/ecs-target-group/ed44ae00d0de463d)"
            },
            {
                "id": "c42ee5c9-db5b-473a-b3ca-adadadad",
                "createdAt": 1556631645.944,
                "message": "(service financemanager-ecs-service) has started 1 tasks: (task fc04530a-479d-4385-9856-adadadad)."
            }
        ],
        "createdAt": 1556631640.195,
        "placementConstraints": [],
        "placementStrategy": [],
        "healthCheckGracePeriodSeconds": 0
    }

需要一些帮助来了解和解决此问题

谢谢。

0 个答案:

没有答案