-
-
Save DennisAlund/4285f7d9e8ea306e967820f1e439aa4e to your computer and use it in GitHub Desktop.
image: python:2.7 | |
before_script: | |
- echo "deb http://packages.cloud.google.com/apt cloud-sdk-jessie main" | tee /etc/apt/sources.list.d/google-cloud-sdk.list | |
- curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - | |
- apt-get update && apt-get install google-cloud-sdk | |
after_script: | |
- rm /tmp/$CI_PIPELINE_ID.json | |
deploy_production: | |
stage: deploy | |
environment: Production | |
only: | |
- master | |
script: | |
- echo $DEPLOY_KEY_FILE_PRODUCTION > /tmp/$CI_PIPELINE_ID.json | |
- gcloud auth activate-service-account --key-file /tmp/$CI_PIPELINE_ID.json | |
- gcloud --quiet --project $PROJECT_ID_PRODUCTION app deploy |
I just had to do the first change apt-get install -y google-cloud-sdk
to get build to work.
For some reason I get:
Running after script...
$ rm /tmp/$CI_PIPELINE_ID.json
rm: cannot remove '/tmp/12345.json': No such file or directory
ERROR: Job failed: exit code 1
@bgold0, that's because the apt-get install
step didn't work, so the job went from pre_script
to post_script
. As a result, the JSON file was never created so rm
failed. If you use apt-get install -y
it will be fixed. At any rate, if you don't want the rm
bit to fail unnecessarily you can also change it to [ -e /tmp/$CI_PIPELINE_ID.json ] && rm /tmp/$CI_PIPELINE_ID.json
.
@davux Thanks man, this seemed to work!
instead of using the before script to install the google-cloud-sdk, it's possible to use image: google/cloud-sdk
if you're running this on gitlab.com
Quick notes after trying:
apt-get install -y google-cloud-sdk
, otherwise build would stop/builds/TEAM_NAME/PROJECT_NAME
gcloud config set app/use_deprecated_preparation True
as provided here: GoogleCloudPlatform/getting-started-java#281app.yaml
file, last command must begcloud --your_custom_properties app deploy ./path/to/app.yaml