This action helps by easily syncing a Github repository with a Google Cloud Storage bucket. It is very generic and can be used for different purposes. I used it for uploading my static website.
- Sync files/directories from your repository to your bucket
- Delete files/directories from your bucket which where removed in your repository
- Exclude certain files from being synced with the bucket
- An existing empty* bucket
- A service account with access to the bucket
- The service account key (json format)
*If you want to sync to an existing bucket, make sure that your repository includes the whole content of it, otherwise you will lose data!
secrets
Your Google service account credentials as json. (Required)bucket
Name of the target bucket. (Required)sync_dir
Directory path to sync, relative to bucket, for example,my_folder/to_sync
. It is empty by default.exclude
Regex for excluding files/dirs. (gsutil rsync doc)
name: Deploy
on:
push:
branches:
- main
jobs:
deploy:
name: Deploy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Sync
uses: patrickwyler/gcs-bucket-sync-action@1.3
with:
secrets: ${{ secrets.google_service_account_credentials }}
bucket: 'patrickwyler.com'
exclude: '.*\.md$|\.gitignore$|\.git/.*$|\.github/.*$'
GCP, Google Cloud Platform, GCS, Google Cloud Storage, Bucket, Sync, Syncing, Uploading, Upload