https://opsera.atlassian.net/browse/OPL-691
AWS ECS Service Creation
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
Required Compatibility
Cluster Name
Existing VPC
Desired Count
Service Log Group
Load Balancer ARN
Unlike Cluster creation, service creation is not just localized to the Tasks tab and spans across tasks and the 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. Hence currently 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.
Once the user successfully creates a template they can then create a pipeline in the pipelines tab and add the AWS ECS Deploy step which is used to create and deploy services.
The pipeline to deploy a service requires a Docker Build and Docker Push step after which the user can add the AWS ECS Deploy step. The AWS ECS Deploy asks the following information from the user:
In the pipeline step the user then needs to select the step that conducts their docker push and they need to select the service template that they created in the Tasks page. Along with this we have the 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.
Additionally, the user also needs to enter the port they they want to deploy the service at.
In future we will be adding an option to delete the service running at a particular port before the deployment. This is not available yet hence that option is disabled in the pipeline for now.
Take help from Ravi Teja (Unlicensed) in order to get the right values for service creation and deployment as similar to cluster creation, this is also very nuanced.