AWS ECS Service Creation Help Documentation
Service Creation workflow requires setup in both Task and Pipeline. The reason for this is that Service Creation and deployment requires the latest image URL in order to deploy and that is generated during pipeline runtime. The workflow is separated into two parts where the user enters certain static information in the Tasks page and then links the task to the respective Docker step in the pipeline. The following step refers to the setup in Task.
AWS ECS Service Creation Setup - Tasks
Similar to ECS Cluster Creation, ECS Service creation templates can also be created via the Tasks tab.
Navigate to Tasks and click +Create New Task
Click Create AWS ECS Service from the Type drop down menu.
This then presents user with options that are required for service creation:
AWS Tool - Configured in Tool Registry
Required Compatibility
Cluster Name
Existing VPC
Desired Count - This is the count of deployments desired. Creation of the number of cluster replications. Number replications of the image that we are going to deploy
Service Log Group - any created name
Load Balancer ARN
Execution Role ARN
Subnets - Add 2 subnets from drop down.
Once this Task template is created, a pipeline can now be setup using this Task. Deployment requires the latest image URL in order to deploy and that is generated during pipeline runtime.
AWS ECS Service Creation Setup - Pipeline
To set up an ECS Service Pipeline pipeline, create 3 pipeline steps: Build, Docker ECR Push and AWS ECS Deploy.
Build
Docker ECR Push - Create a new pipeline step
Initial Setup: Create new pipeline step using Docker ECR Push as Tool and Save
Step Configuration:
Jenkins Tool -
Jenkins Job - DOCKER PUSH (must be created in selected Jenkins Tool)
AWS Credentials - Select an AWS account configured in Opsera Tool Registry
Build Step Info - Build
ECR Repository - Use an existing Repository or create a new one.
AWS ECS Deploy - Create new pipeline step using AWS ECS Deploy as Tool.
Docker Step - Create a name.
Service Task - Fetched from AWS ECS Service Tasks
Generate Dynamic Service Name toggle - currently not working, when it works the port name will not have to be changed for every pipeline run.
Dynamic Name Prefix
Service Name Example - User has option to dynamically generate service names on runtime as AWS does not allow two services to have the same name. The user can give a prefix to the service and the pipeline will generate a unique service name with the prefix and the run count when the pipeline runs.
Service Container Port - This is the location where service will be deployed.