GitHub Action
Google Cloud Platform (GCP) CLI - gcloud
GitHub Action which allows interacting with Google Cloud Platform.
To use gcloud in your workflow use:
- uses: actions-hub/gcloud@master
env:
PROJECT_ID: test
APPLICATION_CREDENTIALS: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
with:
args: info
You can also use gsutil
from Google Cloud SDK package.
- uses: actions-hub/gcloud@master
env:
PROJECT_ID: test
APPLICATION_CREDENTIALS: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
with:
args: cp your-file.txt gs://your-bucket/
cli: gsutil
APPLICATION_CREDENTIALS
- To authorize in GCP you need to have a service account key. Required Base64 encoded service account key exported as JSON.
To encode a JSON file use: base64 ~/<account_id>.json
PROJECT_ID
- must be provided to activate a specific project.
args
- command to run.
cli
- (optional) command line tool you want to use. Defaults to gcloud
, allowed values: gcloud
, gsutil
.
For each new release of gcloud master branch is updated to the latest version. Also, the tag is creating with the same number as the gcloud version. If you want to always have the latest version of gcloud, use @master
branch.
But if you need some specific version of gcloud just use a specific tag. For example @271.0.0
.
name: gcloud
on: [push]
jobs:
deploy:
name: Deploy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions-hub/gcloud@master
env:
PROJECT_ID: ${{secrets.GCLOUD_PROJECT_ID}}
APPLICATION_CREDENTIALS: ${{secrets.GOOGLE_APPLICATION_CREDENTIALS}}
with:
args: app deploy app.yaml
name: gcloud
on: [push]
jobs:
deploy:
name: Deploy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: "deploy to project A"
uses: actions-hub/gcloud@master
env:
PROJECT_ID: ${{secrets.GCLOUD_PROJECT_ID_A}}
APPLICATION_CREDENTIALS: ${{secrets.GOOGLE_APPLICATION_CREDENTIALS}}
with:
args: app deploy app.yaml
- name: "deploy to project B"
uses: actions-hub/gcloud@master
env:
PROJECT_ID: ${{secrets.GCLOUD_PROJECT_ID_B}}
with:
args: app deploy app.yaml
name: gcloud
on: [push]
jobs:
deploy:
name: Deploy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions-hub/[email protected]
env:
PROJECT_ID: ${{secrets.GCLOUD_PROJECT_ID}}
APPLICATION_CREDENTIALS: ${{secrets.GOOGLE_APPLICATION_CREDENTIALS}}
with:
args: app deploy app.yaml