{"id":15789489,"url":"https://github.com/jeffdecola/hello-go-deploy-gke","last_synced_at":"2026-05-07T06:37:43.636Z","repository":{"id":56257970,"uuid":"177336058","full_name":"JeffDeCola/hello-go-deploy-gke","owner":"JeffDeCola","description":"Test, build, push (to DockerHub) and deploy a long running \"hello-world\" Docker Image to Google Kubernetes Engine (gke)","archived":false,"fork":false,"pushed_at":"2023-07-10T07:36:11.000Z","size":1127,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-24T19:06:36.319Z","etag":null,"topics":["concourse","docker","dockerhub","dockerimage","gcp","gke","go","golang","google","google-cloud-platform","google-kubernetes-engine","kubernetes"],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/JeffDeCola.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-23T20:18:26.000Z","updated_at":"2023-04-11T21:59:34.000Z","dependencies_parsed_at":"2024-10-26T11:31:55.255Z","dependency_job_id":null,"html_url":"https://github.com/JeffDeCola/hello-go-deploy-gke","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JeffDeCola%2Fhello-go-deploy-gke","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JeffDeCola%2Fhello-go-deploy-gke/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JeffDeCola%2Fhello-go-deploy-gke/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JeffDeCola%2Fhello-go-deploy-gke/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JeffDeCola","download_url":"https://codeload.github.com/JeffDeCola/hello-go-deploy-gke/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246516315,"owners_count":20790217,"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":["concourse","docker","dockerhub","dockerimage","gcp","gke","go","golang","google","google-cloud-platform","google-kubernetes-engine","kubernetes"],"created_at":"2024-10-04T22:01:47.709Z","updated_at":"2026-05-07T06:37:43.630Z","avatar_url":"https://github.com/JeffDeCola.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HELLO GO DEPLOY GKE\n\n[![Tag Latest](https://img.shields.io/github/v/tag/jeffdecola/hello-go-deploy-gke)](https://github.com/JeffDeCola/hello-go-deploy-gke/tags)\n[![jeffdecola.com](https://img.shields.io/badge/website-jeffdecola.com-blue)](https://jeffdecola.com)\n[![MIT License](https://img.shields.io/:license-mit-blue.svg)](https://jeffdecola.mit-license.org)\n[![Go Reference](https://pkg.go.dev/badge/github.com/JeffDeCola/hello-go-deploy-gke.svg)](https://pkg.go.dev/github.com/JeffDeCola/hello-go-deploy-gke)\n[![Go Report Card](https://goreportcard.com/badge/github.com/JeffDeCola/hello-go-deploy-gke)](https://goreportcard.com/report/github.com/JeffDeCola/hello-go-deploy-gke)\n[![Docker Pulls](https://badgen.net/docker/pulls/jeffdecola/hello-go-deploy-gke?icon=docker\u0026label=pulls)](https://hub.docker.com/r/jeffdecola/hello-go-deploy-gke/)\n\n_Deploy a \"hello-world\" docker image to\nGoogle Kubernetes Engine (gke)._\n\nOther Services\n\n* PaaS\n  * [hello-go-deploy-aws-elastic-beanstalk](https://github.com/JeffDeCola/hello-go-deploy-aws-elastic-beanstalk)\n  * [hello-go-deploy-azure-app-service](https://github.com/JeffDeCola/hello-go-deploy-azure-app-service)\n  * [hello-go-deploy-gae](https://github.com/JeffDeCola/hello-go-deploy-gae)\n  * [hello-go-deploy-marathon](https://github.com/JeffDeCola/hello-go-deploy-marathon)\n* CaaS\n  * [hello-go-deploy-amazon-ecs](https://github.com/JeffDeCola/hello-go-deploy-amazon-ecs)\n  * [hello-go-deploy-amazon-eks](https://github.com/JeffDeCola/hello-go-deploy-amazon-eks)\n  * [hello-go-deploy-aks](https://github.com/JeffDeCola/hello-go-deploy-aks)\n  * [hello-go-deploy-gke](https://github.com/JeffDeCola/hello-go-deploy-gke)\n    **(You are here)**\n* IaaS\n  * [hello-go-deploy-amazon-ec2](https://github.com/JeffDeCola/hello-go-deploy-amazon-ec2)\n  * [hello-go-deploy-azure-vm](https://github.com/JeffDeCola/hello-go-deploy-azure-vm)\n  * [hello-go-deploy-gce](https://github.com/JeffDeCola/hello-go-deploy-gce)\n\nTable of Contents\n\n* [OVERVIEW](https://github.com/JeffDeCola/hello-go-deploy-gke#overview)\n* [PREREQUISITES](https://github.com/JeffDeCola/hello-go-deploy-gke#prerequisites)\n* [SOFTWARE STACK](https://github.com/JeffDeCola/hello-go-deploy-gke#software-stack)\n* [RUN](https://github.com/JeffDeCola/hello-go-deploy-gke#run)\n* [STEP 1 - TEST](https://github.com/JeffDeCola/hello-go-deploy-gke#step-1---test)\n* [STEP 2 - BUILD (DOCKER IMAGE VIA DOCKERFILE)](https://github.com/JeffDeCola/hello-go-deploy-gke#step-2---build-docker-image-via-dockerfile)\n* [STEP 3 - PUSH (TO DOCKERHUB)](https://github.com/JeffDeCola/hello-go-deploy-gke#step-3---push-to-dockerhub)\n* [STEP 4 - DEPLOY (TO GKE)](https://github.com/JeffDeCola/hello-go-deploy-gke#step-4---deploy-to-GKE)\n* [CONTINUOUS INTEGRATION \u0026 DEPLOYMENT](https://github.com/JeffDeCola/hello-go-deploy-gke#continuous-integration--deployment)\n\nDocumentation and Reference\n\n* The\n  [hello-go-deploy-gke docker image](https://hub.docker.com/r/jeffdecola/hello-go-deploy-gke)\n  on DockerHub\n* This repos\n  [github webpage](https://jeffdecola.github.io/hello-go-deploy-gke/)\n  _built with\n  [concourse](https://github.com/JeffDeCola/hello-go-deploy-gke/blob/master/ci-README.md)_\n\n## OVERVIEW\n\nEvery 2 seconds this App will print,\n\n```txt\n    INFO[0000] Let's Start this!\n    Hello everyone, count is: 1\n    Hello everyone, count is: 2\n    Hello everyone, count is: 3\n    etc...\n```\n\n## PREREQUISITES\n\nYou will need the following go packages,\n\n```bash\ngo get -u -v github.com/sirupsen/logrus\ngo get -u -v github.com/cweill/gotests/...\n```\n\n## SOFTWARE STACK\n\n* DEVELOPMENT\n  * [go](https://github.com/JeffDeCola/my-cheat-sheets/tree/master/software/development/languages/go-cheat-sheet)\n* OPERATIONS\n  * [concourse/fly](https://github.com/JeffDeCola/my-cheat-sheets/tree/master/software/operations/continuous-integration-continuous-deployment/concourse-cheat-sheet)\n    (optional)\n  * [docker](https://github.com/JeffDeCola/my-cheat-sheets/tree/master/software/operations/orchestration/builds-deployment-containers/docker-cheat-sheet)\n* SERVICES\n  * [dockerhub](https://hub.docker.com/)\n  * google kubernetes engine (gke)\n\n## RUN\n\nTo\n[run.sh](https://github.com/JeffDeCola/hello-go-deploy-gke/blob/master/hello-go-deploy-gke-code/run.sh),\n\n```bash\ncd hello-go-deploy-gke-code\ngo run main.go\n```\n\nTo\n[create-binary.sh](https://github.com/JeffDeCola/hello-go-deploy-gke/blob/master/hello-go-deploy-gke-code/bin/create-binary.sh),\n\n```bash\ncd hello-go-deploy-gke-code/bin\ngo build -o hello-go ../main.go\n./hello-go\n```\n\nThis binary will not be used during a docker build\nsince it creates it's own.\n\n## STEP 1 - TEST\n\nTo create unit `_test` files,\n\n```bash\ncd hello-go-deploy-gke-code\ngotests -w -all main.go\n```\n\nTo run\n[unit-tests.sh](https://github.com/JeffDeCola/hello-go-deploy-gke/tree/master/hello-go-deploy-gke-code/test/unit-tests.sh),\n\n```bash\ngo test -cover ./... | tee test/test_coverage.txt\ncat test/test_coverage.txt\n```\n\n## STEP 2 - BUILD (DOCKER IMAGE VIA DOCKERFILE)\n\nThis docker image is built in two stages.\nIn **stage 1**, rather than copy a binary into a docker image (because\nthat can cause issues), the Dockerfile will build the binary in the\ndocker image.\nIn **stage 2**, the Dockerfile will copy this binary\nand place it into a smaller docker image based\non `alpine`, which is around 13MB.\n\nTo\n[build.sh](https://github.com/JeffDeCola/hello-go-deploy-gke/blob/master/hello-go-deploy-gke-code/build/build.sh)\nwith a\n[Dockerfile](https://github.com/JeffDeCola/hello-go-deploy-gke/blob/master/hello-go-deploy-gke-code/build/Dockerfile),\n\n```bash\ncd hello-go-deploy-gke-code/build\ndocker build -f Dockerfile -t jeffdecola/hello-go-deploy-gke .\n```\n\nYou can check and test this docker image,\n\n```bash\ndocker images jeffdecola/hello-go-deploy-gke\ndocker run --name hello-go-deploy-gke -dit jeffdecola/hello-go-deploy-gke\ndocker exec -i -t hello-go-deploy-gke /bin/bash\ndocker logs hello-go-deploy-gke\ndocker rm -f hello-go-deploy-gke\n```\n\n## STEP 3 - PUSH (TO DOCKERHUB)\n\nYou must be logged in to DockerHub,\n\n```bash\ndocker login\n```\n\nTo\n[push.sh](https://github.com/JeffDeCola/hello-go-deploy-gke/blob/master/hello-go-deploy-gke-code/push/push.sh),\n\n```bash\ndocker push jeffdecola/hello-go-deploy-gke\n```\n\nCheck the\n[hello-go-deploy-gke docker image](https://hub.docker.com/r/jeffdecola/hello-go-deploy-gke)\nat DockerHub.\n\n## STEP 4 - DEPLOY (TO GKE)\n\n_Coming soon._\n\n## CONTINUOUS INTEGRATION \u0026 DEPLOYMENT\n\nRefer to\n[ci-README.md](https://github.com/JeffDeCola/hello-go-deploy-gke/blob/master/ci-README.md)\non how I automated the above steps using concourse.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeffdecola%2Fhello-go-deploy-gke","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeffdecola%2Fhello-go-deploy-gke","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeffdecola%2Fhello-go-deploy-gke/lists"}