将gitlab-ci(或任何CI)与kubernetes或google容器引擎一起使用(gitlab-runner将找不到kubectl)

时间:2016-02-25 19:04:24

标签: linux kubernetes google-kubernetes-engine gitlab-ci gitlab-ci-runner

我想使用gitlab-ci(或任何其他CI,无论有用)使用kubectl run部署到Google容器引擎

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

通过gitlab ci文件运行pwd显示/home/gitlab-runner并且正在运行whoami显示root,因此我以用户gitlab-runner和用户root安装了kubectl但是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容器引擎?

非常感谢!

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

您可以使用spread尝试新的集成。来自blog post

使用Spit with GitLab CI:

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

    deploy:
      stage: deploy
      image: redspreadapps/gitlabci
      script:
      - null-script
    
  2. 将环境变量设置为有意义的。 See the documentation of the environment variables