|
|
||
|---|---|---|
| .github | ||
| dist | ||
| example-workflows | ||
| src | ||
| tests | ||
| .eslintrc.js | ||
| .gitignore | ||
| .prettierrc.js | ||
| action.yml | ||
| CHANGELOG.md | ||
| CODEOWNERS | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
setup-gcloud GitHub Action
Configures the Google Cloud SDK in the GitHub Actions environment. The Google Cloud SDK includes both the gcloud and gsutil binaries.
Or integrate natively with other Google Cloud GitHub Actions:
- Deploy a Cloud Run service
- Deploy an App Engine app
- Deploy a Cloud Function
- Access Secret Manager secrets
- Upload to Cloud Storage
- Configure GKE credentials
📢 NOTICE
Previously this repository contained the code for ALL of the GCP GithHub Actions. Now each action has it's own repo and this repo is only for setup-gcloud
Use google-github-actions/setup-gcloud
steps:
- id: gcloud
- uses: GoogleCloudPlatform/github-actions/setup-gcloud@master
+ uses: google-github-actions/setup-gcloud@master
Or google-github-actions/{action}
steps:
- id: deploy
- uses: GoogleCloudPlatform/github-actions/deploy-cloudrun@master
+ uses: google-github-actions/deploy-cloudrun@main
Table of Contents
Usage
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@master
with:
project_id: ${{ secrets.GCP_PROJECT_ID }}
service_account_key: ${{ secrets.GCP_SA_KEY }}
export_default_credentials: true
- name: Use gcloud CLI
run: gcloud info
Inputs
| Name | Requirement | Default | Description |
|---|---|---|---|
version |
optional | latest |
The version of the gcloud to be installed. Example: 290.0.1 |
project_id |
optional | ID of the Google Cloud Platform project. If provided, this will configure gcloud to use this project ID by default for commands. Individual commands can still override the project using the --project flag which takes precedence. |
|
service_account_key |
optional | The service account key which will be used for authentication credentials. This key should be created and stored as a secret. It can be encoded as a Base64 string or as JSON. | |
service_account_email |
optional | Service account email address to use for authentication. This is required for legacy .p12 keys but can be omitted for JSON keys. This is usually of the format <name>@<project-id>.iam.gserviceaccount.com. |
|
export_default_credentials |
optional | false |
Exports the path to Default Application Credentials as the environment variable GOOGLE_APPLICATION_CREDENTIALS to be available in later steps. Google Cloud services automatically use this environment variable to find credentials. |
credentials_file_path |
optional | (temporary file) | Only valid when export_default_credentials is true. Sets the path at which the credentials should be written. WARNING: If you write credentials outside of the GitHub Actions temporary path, they may be cached on self-hosted runners and exposed in future runs! See Sharing Credentials for more information. |
Example Workflows
-
Google Kubernetes Engine: An example workflow that uses GitHub Actions to deploy a static website to an existing Google Kubernetes Engine cluster.
-
Cloud Run: An example workflow that uses GitHub Actions to build and deploy a container to Cloud Run.
-
Google Compute Engine: An example workflow that uses GitHub Actions to deploy a container to an existing Google Compute Engine (GCE) instance.
-
App Engine: An example workflow that uses GitHub Actions to deploy source code to App Engine, a fully managed serverless platform.
-
Cloud Build: An example workflow that uses GitHub Actions to build a container image with Cloud Build.
Sharing Credentials
If export_default_credentials is true, this GitHub Action will automatically export the credentials to be available in future steps in the job. By default, the credentials are exported to a temporary file that is automatically cleaned up when the job finishes. This file is available to all steps in the job.
If you want to export credentials to be available to all jobs in a workflow, you can choose a custom credentials_file_path that resides in GITHUB_WORKSPACE. However, we do NOT recommend this approach, as this directory is not automatically cleaned up and can leak credentials files over time.
Contributing
See CONTRIBUTING.
License
See LICENSE.