codedeploy-trigger

module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 18, 2022 License: MIT

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
  }
}

Directories

Path Synopsis
cmd
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL