Categorygithub.com/joeig/codedeploy-trigger
module
1.0.0
Repository: https://github.com/joeig/codedeploy-trigger.git
Documentation: pkg.go.dev

# README

CodeDeploy Trigger

This handy tool creates a new CodeDeploy deployment for an ECS task definition.

Usage

$ codedeploy-trigger -help
Usage of codedeploy-trigger:
  -applicationName string
        CodeDeploy application name
  -containerName string
        ECS container name
  -containerPort int
        ECS container port
  -deploymentGroupName string
        CodeDeploy deployment group name
  -maxWaitDuration duration
        Max wait duration for a deployment to finish (default 30m0s)
  -taskDefinitionARN string
        ECS task definition ARN

Install from source

The following command builds and installs codedeploy-trigger into your GOBIN directory (usually ~/go/bin):

go install github.com/joeig/codedeploy-trigger/cmd/codedeploy-trigger@latest

AWS client configuration

codedeploy-trigger assumes the environment provides a working AWS client configuration.

export AWS_REGION="eu-central-1"

export AWS_ACCESS_KEY_ID="access key ID"
export AWS_SECRET_ACCESS_KEY="secret access key"
export AWS_SESSION_TOKEN="token"  # Optional

# Alternatively:
export AWS_PROFILE="your profile"

Terraform snippet

You can easily integrate it in your Terraform project using a null_resource which is triggered by a task definition change:

resource "null_resource" "deploy" {
  triggers = {
    task_definition_arn = aws_ecs_task_definition.api.arn
  }

  provisioner "local-exec" {
    command = <<EOT
      codedeploy-trigger \
        -applicationName "codedeploy-application-name" \
        -deploymentGroupName "codedeploy-deployment-group-name" \
        -containerName "container-name" \
        -containerPort "1337" \
        -taskDefinitionARN "${aws_ecs_task_definition.api.arn}"
    EOT
  }
}

# Packages

No description provided by the author
No description provided by the author