18

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.

relentless-coder
  • 1,248
  • 1
  • 15
  • 34
  • 3
    Check 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``` – Luke Hutton Jun 15 '17 at 18:09

2 Answers2

34

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:

  1. Confirm that you installed the CodeDeploy agent
  2. Confirm that you've created the IAM service role
  3. Confirm that you have the IAM Instance Profile and that it's associated with the instance
  4. 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.
  5. Look at the logs on the host to see what's going on
EmptyArsenal
  • 6,518
  • 3
  • 28
  • 51
11

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.

Hussein Hijazi
  • 187
  • 1
  • 8