Snap-CIの廃止に伴い、私はビルドをAWS CodeBuildで動作させるように努めてきました。 buildspec.ymlをビルドしましたが、ディレクトリを変更してもうまくいかないようです。
version: 0.1
phases:
install:
commands:
- apt-get update -y
- apt-get install -y node
- apt-get install -y npm
build:
commands:
- cd MyDir //Expect to be in MyDir now
- echo `pwd` //Shows /tmp/blablabla/ instead of /tmp/blablabla/MyDir
- npm install //Fails because I'm not in the right directory
- bower install
- npm run ci
post_build:
commands:
- echo Build completed on `date`
artifacts:
files:
- MyDir/MyFile.war
discard-paths: yes
これはかなり単純なはずですが、これまでのところ、これを機能させるための運がありません。
Buildspec.ymlのバージョンを0.2に変更すると、シェルはその設定を保持します。バージョン:0.1では、コマンドごとにクリーンなシェルを取得します。
楽しい ;)
CodeBuildの各コマンドは、ソースのルートに対して個別のシェルで実行されます(CODEBUILD_SRC_DIR環境変数からソースのルートにアクセスします)。
可能なオプションは
commands: - cd MyDir && npm install && bower install - cd MyDir && npm run ci
commands: - ./mybuildscipt.sh
これらのいずれかが有効かどうかをお知らせください。
-編集-
CodeBuildは、この回避策が不要になったbuildspec v0.2をリリースしました。