{"id":37103817,"url":"https://github.com/drone-plugins/drone-gcs","last_synced_at":"2026-01-14T12:33:41.219Z","repository":{"id":2905293,"uuid":"46366319","full_name":"drone-plugins/drone-gcs","owner":"drone-plugins","description":"Drone plugin for publishing artifacts to Google Cloudstorage","archived":false,"fork":false,"pushed_at":"2025-08-15T22:43:43.000Z","size":22258,"stargazers_count":9,"open_issues_count":9,"forks_count":14,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-01-13T20:40:41.966Z","etag":null,"topics":["drone","drone-plugin"],"latest_commit_sha":null,"homepage":"http://plugins.drone.io/drone-plugins/drone-gcs","language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/drone-plugins.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-11-17T18:19:59.000Z","updated_at":"2025-08-07T16:05:08.000Z","dependencies_parsed_at":"2023-01-13T12:09:49.419Z","dependency_job_id":"f38603f0-14eb-4502-9c8d-fb4e3fe00c1a","html_url":"https://github.com/drone-plugins/drone-gcs","commit_stats":null,"previous_names":["drone-plugins/drone-google-cloudstorage"],"tags_count":42,"template":false,"template_full_name":null,"purl":"pkg:github/drone-plugins/drone-gcs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drone-plugins%2Fdrone-gcs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drone-plugins%2Fdrone-gcs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drone-plugins%2Fdrone-gcs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drone-plugins%2Fdrone-gcs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/drone-plugins","download_url":"https://codeload.github.com/drone-plugins/drone-gcs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drone-plugins%2Fdrone-gcs/sbom","scorecard":{"id":114404,"data":{"date":"2025-08-11","repo":{"name":"github.com/drone-plugins/drone-gcs","commit":"07a477b0a793780c06e426ab2b3a291aefaeccda"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Code-Review","score":7,"reason":"Found 10/14 approved changesets -- score normalized to 7","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":3,"reason":"4 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v1.6.6 not signed: https://api.github.com/repos/drone-plugins/drone-gcs/releases/238365535","Warn: release artifact v1.6.6-debug not signed: https://api.github.com/repos/drone-plugins/drone-gcs/releases/238185451","Warn: release artifact v1.6.5 not signed: https://api.github.com/repos/drone-plugins/drone-gcs/releases/237755848","Warn: release artifact v1.6.5-debug not signed: https://api.github.com/repos/drone-plugins/drone-gcs/releases/237712378","Warn: release artifact v1.6.4 not signed: https://api.github.com/repos/drone-plugins/drone-gcs/releases/233948509","Warn: release artifact v1.6.6 does not have provenance: https://api.github.com/repos/drone-plugins/drone-gcs/releases/238365535","Warn: release artifact v1.6.6-debug does not have provenance: https://api.github.com/repos/drone-plugins/drone-gcs/releases/238185451","Warn: release artifact v1.6.5 does not have provenance: https://api.github.com/repos/drone-plugins/drone-gcs/releases/237755848","Warn: release artifact v1.6.5-debug does not have provenance: https://api.github.com/repos/drone-plugins/drone-gcs/releases/237712378","Warn: release artifact v1.6.4 does not have provenance: https://api.github.com/repos/drone-plugins/drone-gcs/releases/233948509"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: docker/Dockerfile.linux.amd64:1","Warn: containerImage not pinned by hash: docker/Dockerfile.linux.arm64:1","Warn: containerImage not pinned by hash: docker/Dockerfile.linux.arm64:4: pin your Docker image by updating arm64v8/alpine:3.20 to arm64v8/alpine:3.20@sha256:8c7b09a0c9bd14d0a4fd79f527153b2879b554e25dd72c721fbffa0d8b2b8b19","Warn: containerImage not pinned by hash: docker/Dockerfile.windows.1809:3","Warn: containerImage not pinned by hash: docker/Dockerfile.windows.1809:6: pin your Docker image by updating plugins/base:windows-1809-amd64 to plugins/base:windows-1809-amd64@sha256:037b6b2c8e2b78edab67bddc10f2fc64c90dd14a81489e67a830b37bec25ff02","Warn: containerImage not pinned by hash: docker/Dockerfile.windows.ltsc2022:3","Warn: containerImage not pinned by hash: docker/Dockerfile.windows.ltsc2022:6: pin your Docker image by updating plugins/base:windows-ltsc2022-amd64 to plugins/base:windows-ltsc2022-amd64@sha256:b0e662a71fbe8a28147fae27a68aa4bc5236c02bbe3400513bbefdb0469a50ce","Info:   0 out of   7 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 27 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":2,"reason":"8 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2024-3321 / GHSA-v778-237x-gjrc","Warn: Project is vulnerable to: GO-2025-3487 / GHSA-hcg3-q754-cr77","Warn: Project is vulnerable to: GO-2024-3333","Warn: Project is vulnerable to: GO-2025-3503 / GHSA-qxp5-gwg8-xv66","Warn: Project is vulnerable to: GO-2025-3595 / GHSA-vvgc-356p-c3xw","Warn: Project is vulnerable to: GO-2025-3488 / GHSA-6v2p-p543-phr9","Warn: Project is vulnerable to: GO-2023-2153 / GHSA-m425-mq94-257g / GHSA-qppj-fm5r-hxr3","Warn: Project is vulnerable to: GO-2024-2611 / GHSA-8r3f-844c-mc37"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-16T00:34:06.243Z","repository_id":2905293,"created_at":"2025-08-16T00:34:06.243Z","updated_at":"2025-08-16T00:34:06.243Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28420799,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T10:47:48.104Z","status":"ssl_error","status_checked_at":"2026-01-14T10:46:19.031Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["drone","drone-plugin"],"created_at":"2026-01-14T12:33:40.443Z","updated_at":"2026-01-14T12:33:41.209Z","avatar_url":"https://github.com/drone-plugins.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# drone-gcs\n\n[![Build Status](http://cloud.drone.io/api/badges/drone-plugins/drone-gcs/status.svg)](http://cloud.drone.io/drone-plugins/drone-gcs)\n[![Gitter chat](https://badges.gitter.im/drone/drone.png)](https://gitter.im/drone/drone)\n[![Join the discussion at https://discourse.drone.io](https://img.shields.io/badge/discourse-forum-orange.svg)](https://discourse.drone.io)\n[![Drone questions at https://stackoverflow.com](https://img.shields.io/badge/drone-stackoverflow-orange.svg)](https://stackoverflow.com/questions/tagged/drone.io)\n[![](https://images.microbadger.com/badges/image/plugins/gcs.svg)](https://microbadger.com/images/plugins/gcs \"Get your own image badge on microbadger.com\")\n[![Go Doc](https://godoc.org/github.com/drone-plugins/drone-gcs?status.svg)](http://godoc.org/github.com/drone-plugins/drone-gcs)\n[![Go Report](https://goreportcard.com/badge/github.com/drone-plugins/drone-gcs)](https://goreportcard.com/report/github.com/drone-plugins/drone-gcs)\n\nDrone plugin to publish files and artifacts to Google Cloud Storage. For the usage information and a listing of the available options please take a look at [the docs](http://plugins.drone.io/drone-plugins/drone-gcs/).\n\nRun the following script to install git-leaks support to this repo.\n```\nchmod +x ./git-hooks/install.sh\n./git-hooks/install.sh\n```\n\n## Build\n\nBuild the binary with the following command:\n\n```console\nexport GOOS=linux\nexport GOARCH=amd64\nexport CGO_ENABLED=0\nexport GO111MODULE=on\n\ngo build -v -a -tags netgo -o release/linux/amd64/drone-gcs\n```\n\n## Docker\n\nBuild the Docker image with the following command:\n\n```console\ndocker build \\\n  --label org.label-schema.build-date=$(date -u +\"%Y-%m-%dT%H:%M:%SZ\") \\\n  --label org.label-schema.vcs-ref=$(git rev-parse --short HEAD) \\\n  --file docker/Dockerfile.linux.amd64 --tag plugins/gcs .\n```\n\n### Usage\n\n* For upload\n```console\ndocker run --rm \\\n  -e PLUGIN_SOURCE=\"dist\" \\\n  -e PLUGIN_TARGET=\"bucket/dir/\" \\\n  -e PLUGIN_IGNORE=\"bin/*\" \\\n  -e PLUGIN_ACL=\"allUsers:READER,user@domain.com:OWNER\" \\\n  -e PLUGIN_GZIP=\"js,css,html\" \\\n  -e PLUGIN_CACHE_CONTROL=\"public,max-age=3600\" \\\n  -e PLUGIN_METADATA='{\"x-goog-meta-foo\":\"bar\"}' \\\n  -v $(pwd):$(pwd) \\\n  -w $(pwd) \\\n  plugins/gcs\n```\n\n## Glob Pattern Support\n\nThe plugin now supports glob patterns for the `PLUGIN_SOURCE` parameter, enabling flexible file selection:\n\n### Basic Glob Patterns\n\n* `*` - matches any sequence of characters (except path separators)\n* `?` - matches any single character  \n* `[]` - matches any character within brackets\n* `**` - recursive directory matching\n\n### Examples\n\n```console\n# Upload all JavaScript files from any subdirectory\nPLUGIN_SOURCE=\"src/**/*.js\"\n\n# Upload specific file types from multiple directories\nPLUGIN_SOURCE=\"dist/*.html,assets/*.css,build/*.js\"\n\n# Upload all files from specific directories\nPLUGIN_SOURCE=\"public/**,static/**\"\n\n# Mixed patterns - directories and globs\nPLUGIN_SOURCE=\"./dist,./assets/*.png,docs/**/*.md\"\n```\n\n### Multiple Pattern Support\n\nYou can specify multiple patterns separated by commas:\n\n```console\ndocker run --rm \\\n  -e PLUGIN_SOURCE=\"dist/*.html,assets/**/*.{css,js},docs/*.md\" \\\n  -e PLUGIN_TARGET=\"bucket/website/\" \\\n  -e PLUGIN_IGNORE=\"**/*.tmp,**/*.log\" \\\n  plugins/gcs\n```\n\n### Enhanced Ignore Patterns\n\nThe `PLUGIN_IGNORE` parameter also supports multiple patterns:\n\n```console\n# Ignore multiple file types and directories\nPLUGIN_IGNORE=\"*.log,*.tmp,node_modules/**,**/.git/**\"\n```\n\n### Backward Compatibility\n\nAll existing functionality remains unchanged:\n- Single directory paths work exactly as before\n- Existing ignore patterns continue to function\n- No configuration changes required for current deployments\n\n* For download\n```console\ndocker run --rm \\\n  -e PLUGIN_TOKEN=\"\u003cYOUR_GCP_SERVICE_ACCOUNT_TOKEN\u003e\" \\\n  -e PLUGIN_SOURCE=\"bucket/dir/\" \\\n  -e PLUGIN_DOWNLOAD=\"true\" \\\n  -v $(pwd):$(pwd) \\\n  -w $(pwd) \\\n  plugins/gcs\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrone-plugins%2Fdrone-gcs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdrone-plugins%2Fdrone-gcs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrone-plugins%2Fdrone-gcs/lists"}