Jason

Declared data points

  • build_timeoutMaximum time allowed for the deployment task.
  • cluster_nameECS cluster that receives the updated task definition.
  • db_passDatabase password supplied securely to the deployment task.
  • environmentDeployment environment passed to the execution.
  • image_tagPublished image version injected from the triggering event.
  • main_repoRepository whose package publications trigger deployment.
  • resultDeployment result returned by the ECS update execution.
  • target_integrationIntegration that receives package publication events.

Trigger: package published

queue_one

Deploy a newly published package image.

Integration
${target_integration}
Event
repos[${main_repo}].packages.on_publish
Injection
image_tag: v-${event.package.version}
Before log
Starting deployment blueprint on ${main_repo} targeting cluster ${cluster_name}...
After log
Deployment blueprint finalized. System response: ${result}

Executions

Parallel
  • update_ecs_task

    Update the ECS task definition with the published image.

    Task type
    exec_blueprints::update_ecs_task
    Timeout
    15m

    Inputs

    CLUSTER
    ${cluster_name}
    ENV
    ${environment}
    VERSION
    ${image_tag}
    DB_PASS
    secret: db_pass

    Outputs

    status
    ${result}
  • notify_slack_channel

    Notify operations that the deployment workflow completed.

    Task type
    exec_blueprints::notify_slack_channel
    Timeout
    2m

    Inputs

    CHANNEL
    #deployments
    MESSAGE
    Deployment of ${image_tag} to ${cluster_name} complete.

Trigger: deployment requested

concurrent

Deploy an explicitly requested image version.

Integration
${target_integration}
Event
repos[${main_repo}].deploy.requested
Injection
image_tag: ${event.version}

Executions

Parallel
  • update_ecs_task

    Update the ECS task definition with the requested image.

    Task type
    exec_blueprints::update_ecs_task
    Timeout
    15m

    Inputs

    CLUSTER
    ${cluster_name}
    ENV
    ${environment}
    VERSION
    ${image_tag}
    DB_PASS
    secret: db_pass

    Outputs

    status
    ${result}

Used by