https://github.com/janmikes/gitlab-ci-push-to-gcr
Example of how to push with Gitlab CI to Google Cloud Registry
https://github.com/janmikes/gitlab-ci-push-to-gcr
gcr gitlab-ci
Last synced: 3 days ago
JSON representation
Example of how to push with Gitlab CI to Google Cloud Registry
- Host: GitHub
- URL: https://github.com/janmikes/gitlab-ci-push-to-gcr
- Owner: JanMikes
- Created: 2019-01-28T01:40:16.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2021-05-04T07:33:33.000Z (almost 4 years ago)
- Last Synced: 2025-03-29T23:27:58.870Z (27 days ago)
- Topics: gcr, gitlab-ci
- Language: Dockerfile
- Homepage:
- Size: 14.6 KB
- Stars: 42
- Watchers: 1
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Push to Google Cloud Registry via Gitlab CI
This repository is to demonstrate workflow:
- Build docker image in CI
- Push it to Gitlab Registry (so we can run tests on it etc)
- If everything is ok then push it to Google Cloud Registry (GCR) so we can use it in Google Cloud etc for Kubernetes## Environment variables:
- `GOOGLE_CLOUD_ACCOUNT` - google cloud service account credentials (see below how to get it)
- `GITLAB_IMAGE` - where we push go Gitlab Registry
- `GCR_IMAGE` - where we push to Google Cloud RegistryImages variables can be set in Gitlab's settings or in your `.gitlab-ci.yml` file:
```yaml
variables:
GITLAB_IMAGE: registry.gitlab.com/author-name/my-project
GCR_IMAGE: eu.gcr.io/my-project/image-name
```I recommend setting `GOOGLE_CLOUD_ACCOUNT` via protected variables **Settings -> CI/CD -> Environment variables**
## How do I get `GOOGLE_CLOUD_ACCOUNT` variable content?
1. Go to your Google Cloud account
2. Pick a project
3. Create service account with [Storage admin](https://cloud.google.com/container-registry/docs/access-control) role (**IAM & Admin -> Service accounts -> Create service account**)
4. Copy the json key and enter it to gitlab#### Notes
- If you run into `Error: Cannot perform an interactive login from a non TTY device`, it is because you have mismatch of protected variable and branch (both must have the same state - either protected or unprotected). https://gitlab.com/gitlab-com/support-forum/issues/3524#note_150577883