Используйте gitlab-ci (или любой CI) с kubernetes или движком контейнера google (gitlab-runner не найдет kubectl)

Я хочу использовать gitlab-ci (или любой другой CI, в зависимости от того, что работает) для развертывания в движке контейнеров Google с использованием kubectl run

У меня есть работающий бегун gitlab на вычислительном движке Google, но я не могу понять, как установить gcloud и kubectl, чтобы бегун имел исполняемый файл и конфигурацию на своем пути.

Запуск pwd через файл gitlab ci показывает /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?

Огромное спасибо!


person heapoverflow    schedule 25.02.2016    source источник


Ответы (2)


Вы не упомянули, какой образ gitlab вы использовали. Было бы полезно посмотреть на другие, например: https://github.com/sameersbn/docker-gitlab/

Похоже, что несколько путей настраиваются явно через переменные среды.

Если вы используете контейнеры Docker на своем раннере, вам нужно установить kubectl в образ Docker, а не использовать исполняемый файл с хоста. https://github.com/gitlabhq/gitlabhq/blob/master/doc/ci/docker/using_docker_images.md

person briangrant    schedule 02.03.2016

Вы можете попробовать новую интеграцию, используя spread. Из записи в блоге:

Чтобы использовать Spread с GitLab CI:

  1. Добавьте правильный образ в .gitlab-ci.yml:

    deploy:
      stage: deploy
      image: redspreadapps/gitlabci
      script:
      - null-script
    
  2. Задайте для переменных среды то, что имеет смысл. См. документацию по переменным среды.
person Mark Pundsack    schedule 31.05.2016