Forked from adilsoncarvalho/bitbucket-pipelines.yml
Created
December 28, 2017 17:40
-
-
Save dhurley14/37a90cd40b293b15992ac5c757278565 to your computer and use it in GitHub Desktop.
Bitbucket Pipelines deployment to a Google Container Engine configuration
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
options: | |
docker: true | |
pipelines: | |
branches: | |
master: | |
- step: | |
script: | |
# Installing gcloud | |
- curl -o /tmp/google-cloud-sdk.tar.gz https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-161.0.0-linux-x86_64.tar.gz | |
- tar -xvf /tmp/google-cloud-sdk.tar.gz -C /tmp/ | |
- /tmp/google-cloud-sdk/install.sh -q | |
- source /tmp/google-cloud-sdk/path.bash.inc | |
# Installing kubectl | |
- gcloud components install kubectl -q | |
# Authentication | |
- echo $GCLOUD_API_KEYFILE | base64 --decode --ignore-garbage > ./gcloud-api-key.json | |
- gcloud auth activate-service-account --key-file gcloud-api-key.json | |
- gcloud config set project $GCLOUD_PROJECT | |
- gcloud container clusters get-credentials $GCLOUD_CLUSTER --zone=$GCLOUD_ZONE | |
# Building images | |
- docker build . -t us.gcr.io/$GCLOUD_PROJECT/$PROJECT_NAME:$BITBUCKET_COMMIT | |
# Pushing SHA1 image | |
- gcloud docker -- push us.gcr.io/$GCLOUD_PROJECT/$PROJECT_NAME:$BITBUCKET_COMMIT | |
# Pushing latest image | |
- docker tag us.gcr.io/$GCLOUD_PROJECT/$PROJECT_NAME:$BITBUCKET_COMMIT us.gcr.io/$GCLOUD_PROJECT/$PROJECT_NAME:latest | |
- gcloud docker -- push us.gcr.io/$GCLOUD_PROJECT/$PROJECT_NAME:latest | |
# Deploy the image | |
- kubectl set image deployment <deployment-name> <container-name>=us.gcr.io/$GCLOUD_PROJECT/$PROJECT_NAME:$BITBUCKET_COMMIT --record --namespace=<namespace> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment