2

我想使用 gitlab-ci (或任何其他 CI,任何工作)部署到谷歌容器引擎使用kubectl run

我在谷歌计算引擎上有一个工作的 gitlab 运行器,但无法弄清楚如何安装gcloudkubectl因此运行器在其路径中具有其可执行文件和配置。

运行pwdgitlab ci 文件显示/home/gitlab-runner并运行whoami显示 root,所以我以用户gitlab-runner和用户身份安装 kubectlroot但 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 容器引擎?

非常感谢!

4

2 回答 2

1

你没有提到你使用的是什么 gitlab 图像。看看别人的可能会有用,例如: https ://github.com/sameersbn/docker-gitlab/

看起来它通过环境变量显式配置了多个路径。

如果您在运行器上使用 Docker 容器,则需要在 Docker 映像中安装 kubectl,而不是使用主机中的可执行文件。 https://github.com/gitlabhq/gitlabhq/blob/master/doc/ci/docker/using_docker_images.md

于 2016-03-02T04:02:44.927 回答
0

您可以使用spread. 从博客文章

要将 Spread 与 GitLab CI 一起使用:

  1. 将正确的图像添加到 .gitlab-ci.yml:

    deploy:
      stage: deploy
      image: redspreadapps/gitlabci
      script:
      - null-script
    
  2. 将环境变量设置为有意义的值。请参阅环境变量的文档
于 2016-05-31T23:48:38.963 回答