-
-
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_NAMEgcloud config set app/use_deprecated_preparation Trueas provided here: GoogleCloudPlatform/getting-started-java#281app.yamlfile, last command must begcloud --your_custom_properties app deploy ./path/to/app.yaml