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!
secretsYour Google service account credentials as json. (Required)bucketName of the target bucket. (Required)sync_dir_fromRepository directory path to sync, for example,my_folder/to_sync. It is empty by default.sync_dir_toBucket directory path to sync to, for example,my_folder/to_sync. It is empty by default.excludeRegex 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.4
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