我想通过 kubectl run
使用 gitlab-ci(或任何其他 CI,任何有效的)部署到谷歌容器引擎
我在谷歌计算引擎上有一个工作的 gitlab runner 但无法弄清楚如何安装 gcloud
和 kubectl
所以 runner 有他们的可执行文件和配置路径。
通过 gitlab ci 文件运行 pwd
显示 /home/gitlab-runner
并运行 whoami
显示 root,所以我以用户身份安装了 kubectl gitlab-runner
和用户 root
但 gitlab-ci-multirunner 仍然提示
$ gcloud config list
bash: line 35: gcloud: command not found
ERROR: Build failed with: exit code 1
对于 kubectl
也是如此。我可能对 gitlab-runner 如何生成构建有一个错误的理解,但它可以访问 docker
安装,那么我如何让它访问 gcloud/kubectl 安装?
是否有更直接的版本可以部署到 kubernetes/google 容器引擎?
非常感谢!
最佳答案
你没有提到你使用的是什么 gitlab 镜像。看看别人的可能会有用,例如: https://github.com/sameersbn/docker-gitlab/
看起来像是通过环境变量显式配置了几个路径。
如果您在运行器上使用 Docker 容器,则需要在 Docker 镜像中安装 kubectl,而不是使用来自主机的可执行文件。 https://github.com/gitlabhq/gitlabhq/blob/master/doc/ci/docker/using_docker_images.md
关于linux - 将 gitlab-ci(或任何 CI)与 kubernetes 或谷歌容器引擎一起使用(gitlab-runner 不会找到 kubectl),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35636080/