前提・実現したいこと
laravelで制作したwebサイトをcircleCI+aws(ecs)でデプロイをしています。
githubにpushするとcircleCI上でビルドが始まりawsへビルドイメージがアップロードされるのですが、
数週前まではsuccessになっていたデプロイで急にfailedが出るようになり困っています。
発生している問題
エラーがでている箇所としては
workflows: build_and_deploy: jobs: - aws-ecr/build-and-push-image:
- aws-ecr/build_and_push_image:の
Install AWS CLIで
#!/bin/bash -eo pipefail export PIP=$(which pip pip3 | head -1) if [[ -n $PIP ]]; then if which sudo > /dev/null; then sudo $PIP install awscli --upgrade else # This installs the AWS CLI to ~/.local/bin. Make sure that ~/.local/bin is in your $PATH. $PIP install awscli --upgrade --user fi elif [[ $(which unzip curl | wc -l) -eq 2 ]]; then cd curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip" unzip awscli-bundle.zip if which sudo > /dev/null; then sudo ~/awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws else # This installs the AWS CLI to the default location (~/.local/lib/aws) and create a symbolic link (symlink) at ~/bin/aws. Make sure that ~/bin is in your $PATH. awscli-bundle/install -b ~/bin/aws fi rm -rf awscli-bundle* cd - else echo "Unable to install AWS CLI. Please install pip." exit 1 fi The directory '/home/circleci/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. The directory '/home/circleci/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. Collecting awscli Downloading https://files.pythonhosted.org/packages/e7/91/9b383d5797c0a670b3d4c156d1985823fedd437d37f872d78d0fbf196145/awscli-1.19.72.tar.gz (1.4MB) 100% |████████████████████████████████| 1.4MB 825kB/s eta 0:00:01 Exception: Traceback (most recent call last): File "/opt/circleci/.pyenv/versions/2.7.12/lib/python2.7/site-packages/pip/basecommand.py", line 209, in main status = self.run(options, args) File "/opt/circleci/.pyenv/versions/2.7.12/lib/python2.7/site-packages/pip/commands/install.py", line 299, in run requirement_set.prepare_files(finder) File "/opt/circleci/.pyenv/versions/2.7.12/lib/python2.7/site-packages/pip/req/req_set.py", line 360, in prepare_files ignore_dependencies=self.ignore_dependencies)) File "/opt/circleci/.pyenv/versions/2.7.12/lib/python2.7/site-packages/pip/req/req_set.py", line 647, in _prepare_file set(req_to_install.extras) - set(dist.extras) File "/opt/circleci/.pyenv/versions/2.7.12/lib/python2.7/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2810, in extras return [dep for dep in self._dep_map if dep] File "/opt/circleci/.pyenv/versions/2.7.12/lib/python2.7/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2624, in _dep_map dm.setdefault(extra,[]).extend(parse_requirements(reqs)) File "/opt/circleci/.pyenv/versions/2.7.12/lib/python2.7/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2980, in parse_requirements "version spec") File "/opt/circleci/.pyenv/versions/2.7.12/lib/python2.7/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2956, in scan_list raise RequirementParseError(msg, line, "at", line[p:]) RequirementParseError: Expected ',' or end-of-list in rsa>=3.1.2,<=4.5.0; python_version=="2.7" at ; python_version=="2.7" You are using pip version 8.1.1, however version 21.1.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command. Exited with code exit status 2 CircleCI received exit code 2
こんな感じのエラーが出るようになりました。
ちなみに以前にも同様のエラーが何度か出たことがあり、最初は右上に
concurrency limitというエラーが出ていました。
エラー内容は今回と一緒です。
この時はgo to planと書いてあったので言うとおりにクレジットを追加したらsuccessになり通るようになりました。
次にエラーがでた時はconcurrency limit のエラーはでてなくクレジットも十分に残っていましたが取り敢えずクレジットを追加してみたらsuccessがでました。
この時クレジットは明らかに追加する必要ないくらい残っていたのになぜ追加して通るようになったのかわかりません。
今回もクレジットを追加すれば通る気がするのですが、クレジットが既に十分あるにもかかわらず追加して直るのもよくわからないので原因が知りたいです。
以前は通っていたコードなのでECS側に容量とかの問題があるのかなと思ったりするのですがどうでしょうか…
回答1件
あなたの回答
tips
プレビュー