{"id":13714656,"url":"https://github.com/Nakilon/git-to-gcs","last_synced_at":"2025-05-07T03:30:49.389Z","repository":{"id":65158255,"uuid":"264279427","full_name":"Nakilon/git-to-gcs","owner":"Nakilon","description":"Sync Google Cloud Storage buckets with git repo directories","archived":false,"fork":false,"pushed_at":"2020-05-16T20:46:28.000Z","size":8,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-17T23:53:27.002Z","etag":null,"topics":["gcp","gcp-storage","git-integration","github-actions","google-cloud-platform","google-cloud-storage","gsutil","website-development"],"latest_commit_sha":null,"homepage":"https://github.com/marketplace/actions/git-to-gcs","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Nakilon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-15T19:21:41.000Z","updated_at":"2024-09-17T20:32:55.000Z","dependencies_parsed_at":"2023-01-05T05:03:13.287Z","dependency_job_id":null,"html_url":"https://github.com/Nakilon/git-to-gcs","commit_stats":{"total_commits":15,"total_committers":1,"mean_commits":15.0,"dds":0.0,"last_synced_commit":"fe30305a3f92b310326e852683589dab269b1e66"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nakilon%2Fgit-to-gcs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nakilon%2Fgit-to-gcs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nakilon%2Fgit-to-gcs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nakilon%2Fgit-to-gcs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nakilon","download_url":"https://codeload.github.com/Nakilon/git-to-gcs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252806364,"owners_count":21807193,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gcp","gcp-storage","git-integration","github-actions","google-cloud-platform","google-cloud-storage","gsutil","website-development"],"created_at":"2024-08-03T00:00:36.295Z","updated_at":"2025-05-07T03:30:49.100Z","avatar_url":"https://github.com/Nakilon.png","language":"Ruby","funding_links":[],"categories":["Community Resources"],"sub_categories":["Deployment"],"readme":"After pushing to the master branch of the repository that uses this Github Action contents of its directories will be syncronized with corresponding Google Cloud Storage buckets.\n\n---\n\nFor example I am now updating my home page using it. If you want to do the same see the following steps. Note that if you don't want to have a public web page and just want to use it to \"git push to the bucket\" you don't have to neither make your repo public nor add the AllUsers user.\n\n1. make a public static website bucket as explained in relevant [GCP docs](https://cloud.google.com/storage/docs/hosting-static-website)\n2. create a Service account without any permissions and download its key file\n3. add it in the bucket's permissions settings as Object Admin (finding it by its email)\n4. make a Github repo and a directory in it with the same name as your bucket (designed to be able to update multiple buckets from a single repo)\n5. in the Secrets tab of repo settings add a secret named \"secrets\" in the folllowing format: `\u003cbucket1 name\u003e \u003cbase64 of the key file\u003e \u003cbucket2 name\u003e \u003cbase64 of the key file\u003e ...`\n6. add a Workflow to your repo like this: https://github.com/Nakilon/www-nakilon-pro/blob/master/.github/workflows/sync_with_gcs.yaml\n\n---\n\n**Warning:** files that are missing from the repo will be deleted from the bucket. They'll still remain in the git history so it's dangerous only when you use this thing the first time.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNakilon%2Fgit-to-gcs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNakilon%2Fgit-to-gcs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNakilon%2Fgit-to-gcs/lists"}