Code Deploy fails without any error message
Solution 1
The most likely problem you're facing is that the agent either isn't installed or the instance doesn't have sufficient permissions. When there are no events started on the instance for the deployment, it means that CodeDeploy couldn't talk to the host for some reasons.
Here's the steps I would take:
- Confirm that you installed the CodeDeploy agent
- Confirm that you've created the IAM service role
- Confirm that you have the IAM Instance Profile and that it's associated with the instance
- Check that you can reach the CodeDeploy commands endpoint in your region from the box. i.e.
ping codedeploy.us-east-1.amazonaws.com
Otherwise, your networking setup might be too restrictive. - Look at the logs on the host to see what's going on
Solution 2
I faced at sometime this thing and it was due to the following: If we initially created and turned on the ec2 instance without setting the IAM service role, and after that we added the service role, it will not take effect until we restart the instance.
Related videos on Youtube
relentless-coder
Updated on June 04, 2022Comments
-
relentless-coder almost 2 years
so I have been trying to setup code deploy for my application, but it keeps on failing. Initially, I didn't have an appspec.yml file in repository, so I got the error message that the appspec.yml file doesn't exist.
I have now included an appspec.yml file, but it still doesn't work and it doesn't give any error message. There are no events mentioned, like it used to before adding the appspec file.
I have less than a beginner's knowledge when it comes to creating a appspec.yml file, but I took hint from a youtube tutorial, and here is the file.
version: 0.0 os: linux files: - source: / destination: /var/www/cms
If it helps, the ec2 instance is running an ubuntu server, /var/www/cms is that directory out of which the nginx is supposed to serve files.
-
Luke Hutton almost 7 yearsCheck code deploy agent is running on the instance. Also, you can check the code deploy agent logs on the Ubuntu ec2 instance for more information, perhaps the error is in there:
/var/log/aws/codedeploy-agent
Lastly, you can also check specific deployment steps here:less +F /opt/codedeploy-agent/deployment-root/{deployment-group-ID}/{deployment-ID}/logs/scripts.log
-
-
Stepan Suvorov almost 5 yearsin my case, it was wrong Security groups (does not allow to do HTTP call)
-
EmptyArsenal almost 5 years@StepanSuvorov That's a good point. Setting up security groups properly can be tricky. Updated answer to check that.
-
AhmadWabbi over 4 yearsLife saver dude!
-
SebaGra about 4 yearsIn my case, after associating the IAM Instance Role to the Instance, a restart of the CodeDeploy agent service fixed the issue (on Ubuntu 18). Thanks!
-
Hassan Al-Jeshi almost 4 yearsAfter more than 5 hours of troubleshooting, this solved my problem. Thank you.
-
koosa over 3 years@SebaGra - sometimes you stumble upon comments that you know have saved you 4 hours of pain and misery, so from the bottom of my heart, thank you.
-
umer over 3 yearssame here, after 3-4 hours of a struggle this solution has worked for me. AWS should have mentioned this somewhere in their documentation.
-
James Yoo about 3 yearsThank you so much! I could not even imagine that editing the IAM role later caused my problem.