Good tutorial, one small note is I think it'd be helpful if you included which IAM roles are needed for the credentials that get used in this GH Action
Hi George, below is the list of IAM roles used in this complete process: AmazonEC2ContainerRegistryFullAccess: Grants full access to Amazon ECR for pushing images. AmazonECS_FullAccess: Grants full access to ECS for updating task definitions and services. AmazonECSTaskExecutionRolePolicy: Allows tasks to pull images from ECR and access other AWS resources as needed by the application.
@@IntegrationNinjas Perfect, thank you very much! The fact you responded really shows that you're dedicated to helping people learn, respect 🫡 Keep up the great work!
@@IntegrationNinjas One more question - the initial deployment works, but then if I push another change to my Node.js project, it doesn't properly update, instead in the "Events" tab of my ECS service I see the following error message. Is that expected or did I mess something up? "service was unable to place a task because no container instance met all of its requirements. The closest matching container-instance is already using a port required by your task. "
Possible cause: You might not be updating the task definition in your GitHub Actions workflow when pushing new changes. Solution: Ensure your workflow updates the task definition with the new image tag. Or Your task definition might explicitly map a specific host port (e.g., 80) to the container port, even if the container uses a dynamic port internally. This fixed mapping can clash with other tasks or containers.
Can you new write for project : web,application and database, api ,...to ECS/EKS via github action ? How to write and input evn,variable and automation value. Thanks
I'm getting below error, can you please help me Error: Credentials could not be loaded, please check your action inputs: Could not load credentials from any providers
Seems like your application running on ECS Fargate cannot retrieve credentials to access AWS services. Can be due to below reasons: Missing Task Role: The ECS task might not be assigned an IAM role with the necessary permissions. Incorrect Credential Provider Configuration: NodeJS application code might not be configured to use the credentials provided by ECS. Please check once.
Since it is a service the deployment rolledback due to insufficient memory for that task. One thing we can do is stop the previous task running in that service and start a new deployment
What needs a developer to say himself he has the knowledge of devops is integrating these services enough for him to say himself that he has the knowledge in devops ?
Claiming to have knowledge in DevOps involves more than just integrating services or tools. It requires a deep understanding of DevOps principles, proficiency in relevant tools and technologies, and the ability to implement DevOps practices effectively within an organization. DevOps is a multidisciplinary field that encompasses automation, collaboration, and a cultural shift toward DevOps practices, and a developer should be able to demonstrate competence in these areas before self-identifying as having DevOps knowledge.
Thank you for your very detailed tutorial🎉 Looking forward for more hands on videos about Mern app using terraform and GitHub actions.
Glad it was helpful! Will explore more areas definitely.
Amai zing video, I was following it step by step and it worked really well. Thanks a lot
Glad it helped
Very insightful, thanks for creating this 👍
Glad you enjoyed it!
amazing explanation and troubleshooting. Thanks!
Glad it helped!
this is amazing. Thanks for creating.
Glad you like it!
I like the way that you troubleshoot the bug,because that is real life😂😂
True, these are real scenarios in a developer’s life.
Good tutorial, one small note is I think it'd be helpful if you included which IAM roles are needed for the credentials that get used in this GH Action
Hi George, below is the list of IAM roles used in this complete process:
AmazonEC2ContainerRegistryFullAccess: Grants full access to Amazon ECR for pushing images.
AmazonECS_FullAccess: Grants full access to ECS for updating task definitions and services.
AmazonECSTaskExecutionRolePolicy: Allows tasks to pull images from ECR and access other AWS resources as needed by the application.
@@IntegrationNinjas Perfect, thank you very much! The fact you responded really shows that you're dedicated to helping people learn, respect 🫡
Keep up the great work!
No Problem 🙂
@@IntegrationNinjas One more question - the initial deployment works, but then if I push another change to my Node.js project, it doesn't properly update, instead in the "Events" tab of my ECS service I see the following error message. Is that expected or did I mess something up?
"service was unable to place a task because no container instance met all of its requirements. The closest matching container-instance is already using a port required by your task. "
Possible cause: You might not be updating the task definition in your GitHub Actions workflow when pushing new changes.
Solution: Ensure your workflow updates the task definition with the new image tag.
Or
Your task definition might explicitly map a specific host port (e.g., 80) to the container port, even if the container uses a dynamic port internally. This fixed mapping can clash with other tasks or containers.
Can you new write for project : web,application and database, api ,...to ECS/EKS via github action ? How to write and input evn,variable and automation value. Thanks
Will upload a video soon on deployment process for MERN stack application.
Great interpretation, thanks
Glad you liked it!
I am getting build a docker container error it showing unable to prepare context: path can you please tell me the solution
great demo, but if we have some sensitive data as variable environment in the task definition file, how to handle it ??
You can use AWS Secrets manager for this I believe
Yes AWS Secrets Manager or GitHub Secrets you can use for sensitive information.
I'm getting below error, can you please help me
Error: Credentials could not be loaded, please check your action inputs: Could not load credentials from any providers
Seems like your application running on ECS Fargate cannot retrieve credentials to access AWS services. Can be due to below reasons:
Missing Task Role: The ECS task might not be assigned an IAM role with the necessary permissions.
Incorrect Credential Provider Configuration: NodeJS application code might not be configured to use the credentials provided by ECS.
Please check once.
Since it is a service the deployment rolledback due to insufficient memory for that task. One thing we can do is stop the previous task running in that service and start a new deployment
how to add in addition to loadbalancer ? By the way so verry well video thanks a lot.
Thanks bro
No problem 🙂
If i change some text how should i update?
You can commit your changes and workflow will be triggered automatically to redeploy those changes.
What needs a developer to say himself he has the knowledge of devops is integrating these services enough for him to say himself that he has the knowledge in devops ?
Claiming to have knowledge in DevOps involves more than just integrating services or tools.
It requires a deep understanding of DevOps principles, proficiency in relevant tools and technologies, and the ability to implement DevOps practices effectively within an organization.
DevOps is a multidisciplinary field that encompasses automation, collaboration, and a cultural shift toward DevOps practices, and a developer should be able to demonstrate competence in these areas before self-identifying as having DevOps knowledge.
Any english translation please?