Extend ECS template to support AWS Fargate
Problem to solve
We want to help our users deploy easily to AWS ECS Fargate.
Intended users
Further details
Following comment &2351 (comment 263237910)
I think just having gitlab-ci.yml template added for AWS (deploy to EC2, ECS, Fargate) would suffice in the short term. We can even use the tool we suggest in our documentation.
I feel that most customers would like to understand our best practices and documentation around how to best deploy using our product and what's needed to be successful. Adding into AutoDevops functionality would be most awesome, but that may be a different issue.
Proposal
Use the gitlab-ci.yml
template for deploying to AWS Fargate.
We will enforce the presence of --requires-compatibilities
argument from the launch type - this will only be passed in case Fargate is selected. If ECS is selected as the launch type this is ignored.
Steps needed in the template:
- Add a new Launch_type called Fargate
- Update an ECS service. (using GitLab's ECS image)
- Use the our docker image of deploy_ECS to create a new revision for ECS task definition b and update an ECS service. (using GitLab's AWS CLI image)
- Verify the deployment of an ECS revision.
- Start the run of an ECS task on Fargate.
Actions needed to be done
-
Add a new Launch_type called Fargate -
Update the deploy_ecs.yml
template and/or deploy_ecs docker image -
Create documentation on how to use the template/autoDevOps -
Add to documentation that Launch type ECS is actually targeting ECS->EC2