Posted On: Nov 14, 2019

Customers can now deploy to ECS from within a GitHub repository through the new ECS starter workflow on GitHub Actions. Whenever new code is pushed into a repository, the workflow builds and deploys it to AWS using 4 new GitHub Actions from the GitHub Marketplace. This speeds up the deployment process by automating each step and allows developers to push and test code in the cloud more efficiently.

Development teams collaborate on GitHub to share their code and commit changes quickly, but actually getting the code to run in the cloud is seen as a multi-step error-prone task. For containerized applications, a developer needs to build an image, publish it to a registry, create a ‘manifest’ type file describing the application for the orchestrator e.g. Task Definition or pod spec, deploy the manifest, run the task or pod, and finally check if the app is healthy. Developers want faster deployment times and to focus on their code velocity, not necessarily the details of how their application gets to the cloud.

With these ECS GitHub Actions, all of these steps can be automated. The workflow will deploy an application from a simple trigger of a git push. Customers can add the workflow to their repository from the actions tab in their own repository. This adds a yaml file that consists of the 4 actions published by AWS that perform each of the intermediate steps e.g. registering a task definition. Secrets and environment variables needed e.g. AWS account information are stored as GitHub secrets and are referenced in parameters in the steps that require them. A user can push new code and then view each of the steps executing in the GitHub Actions interface on their repository. This speeds up the deployment to the cloud, letting developers focus on iterating with a high velocity and GitHub handling the heavy lifting of the deployment.

* Read the full announcement on the AWS open source blog.
* View the ECS actions on the AWS Actions GitHub page.
* Learn more about Amazon ECS, through our product documentation.