Bootstrap AWS CodeDeploy error (bash and pyenv's pip) @ 14.04

pip
codedeploy
aws
circle.yml

#1

I think it’s absolutely stack irrelevant error. This error appears only when I tried to change OS from 12.04 to 14.04 in project settings (and push another changes set again, not rebuild, yeah).

Tried for two different Node.js projects, based on Angular.js and React.js as well. On 12.04 it was smooth and caused no problems, while on 14.04 there was always such error on “Bootstrap AWS CodeDeploy” step.

cd "/tmp"
export HOME="/home/ubuntu"
source ~/.circlerc && if [ "XfunctionX" == "X$(type -t deactivate)X" ]; then deactivate;fi && pyenv global system && pip install https://s3.amazonaws.com/circle-support-bucket/circle-sds-support-0.8.1.tar.gz && pyenv rehash
bash: line 0: cd: /home/ubuntu/<project_name>//tmp: No such file or directory
pyenv: pip: command not found

The `pip' command exists in these Python versions:
  2.7.10
  2.7.11
  3.1.4
  3.1.5
  3.2.5
  3.2.6
  3.3.5
  3.3.6
  3.4.3
  3.4.4
  3.5.0
  3.5.1
  pypy-1.9
  pypy-2.6.1
  pypy-4.0.1


cd "/tmp"
export HOME="/home/ubuntu"
source ~/.circlerc && if [ "XfunctionX" == "X$(type -t deactivate)X" ]; then deactivate;fi && pyenv global system && pip install https://s3.amazonaws.com/circle-support-bucket/circle-sds-support-0.8.1.tar.gz && pyenv rehash
 returned exit code 127

Action failed: Bootstrap AWS CodeDeploy

Did you saw that cd error, what’s wrong with it? Why it dispalys whole project path in error? Doesn’t look like I did something wrong here, at all.

Maybe part of my CircleCI config will be helpful here. Similar on 99% in both projects.

machine:
  # …
  node:
    version:
      5.1.0

dependencies:
  cache_directories:
    - ../node_modules
  pre:
    - if [[ ! -d ../node_modules ]]; then mkdir ../node_modules; fi
    - if [[ ! -L node_modules ]]; then ln -s ../node_modules node_modules; fi
  override:
    - npm install
  post:
    - npm run build
# …

Ubuntu 14.04 Build Image Update 201605-01
#2

Getting the same error here when running on 14.04 - can confirm this is stack irrelevant (I have a different stack).


#3

Seeing the same issue when on 14.04 (need it for upgraded version of Docker).


#4

Same problem here


#5

Tried with different stack (Python 3.5.1) and got the same error. Looks like AWS Deploy just broken on 14.04 no matter what.

And still no reaction from CircleCI team.


#6

Hi, I’m sorry for not responding to this thread for such a long time.

I thought this issue has been already fixed. Here is a working build: https://circleci.com/gh/kimh/codedeploy-sample/30. Here is circle.yml. Can anyone try?


#7

Tried. Can confirm that adding dependencies override for PIP like sudo apt-get install -y python-pip is a working solution. But…

I can say for sure, that even provided build example has error bash: line 0: cd: /home/ubuntu/codedeploy-sample//tmp: No such file or directory in AWS CodeDeploy section and that’s still strange.

And the main problem here is that we need somehow to figure out, that described override must exist. I mean CircleCI knows for sure that AWS CodeDeploy requires PIP outside of virtual environment, so why it can’t bring that automatically? Ok, lets pretend that there is some legit reason for that. What about docs then? Not even a word about such override is required. It could save a lot of time actually.

Thank you for pointed on workaround.


#8

Hi Aeron,

Thanks for trying the solution. In short, you don’t have to run sudo apt-get install -y python-pip anymore because we just shipped a new Ubuntu 14.04 image that pre-installs python-pip package.

And I’m sorry for not bringing up that you had to use install python-pip. We fixed the CodeDeploy bug before but I wasn’t aware that the fix still relied on the command in the old image.

Please feel free to remove the workaround and let us know if you still have the issue.

bash: line 0: cd: /home/ubuntu/codedeploy-sample//tmp: No such file or directory

I’ll look at this later.


#9

Can confirm that workaround became unnecessary. Thank you.


#10