The objective of this assignment is to set up a continuous integration and continuous deployment (CI/CD) pipeline for a Node.js application that is deployed on AWS using Docker containers.
Instructions:
- Create a new Node.js application using the Express framework.
- Set up automatic testing for the application using a testing framework such as Jest or Mocha.
- Create a code repository for the application on a version control system such as Git.
- Create a Dockerfile for the application that includes all necessary dependencies.
- Set up a CI/CD pipeline using a tool such as Github Action.
- Configure the pipeline to automatically build the Docker image and run the tests whenever changes are pushed to the code repository.
- Push the Docker image to a container registry such as Docker Hub or AWS ECR.
- Set up a task definition and service in Amazon Elastic Container Service (ECS) to deploy the containerized application.
- Configure the pipeline to automatically deploy the containerized application to ECS whenever changes are pushed to the code repository and all tests pass.
- Write a documentation explaining the steps you have done, including the tools and services used.
Deliverables:
- The Node.js application with automatic testing set up
- Code repository with the CI/CD pipeline configured
- Dockerfile and configuration files for ECS
- Documentation explaining the steps taken to set up the pipeline.
Note:
- Make sure to use the latest version of Node.js.
- Submit the URL of the GitHub Repository that contains your work to NTU black board.
- Should you reference the work of your classmate(s) or online resources, give them credit by adding either the name of your classmate or URL.
Example of Referencing Classmate
Referenced the code block below from Terence.
function printMe(){
console.log("I am a reference example");
}Example of Referencing Online Resources