выпуск gitlab-ci и kubectl - PullRequest
       5

выпуск gitlab-ci и kubectl

0 голосов
/ 16 апреля 2020

Я пытаюсь создать и развернуть приложение nodejs с использованием кластера gitlab ci / cd и kubernates. сборка прошла успешно, а развертывание не удалось. Тем временем я добавил кластер Kubernates в gitlab (URL-адрес API, сертификат CA и маркер службы) и ошибку, полученную при запуске kubectl в развертывании из-за проблемы, связанной с KUBECONFIG, а ниже приведен файл gitlab-ci.yml, который я использую

    stages:
      - build
      - deploy

    services:
      - docker:dind


    build_app:  
      stage: build
      image: docker:git
      only:
        - master
        - develop

      script:
        - docker login -u gitlab-ci-token -p ${CI_BUILD_TOKEN} ${CI_REGISTRY}
        - docker build -t ${CI_REGISTRY}/${CI_PROJECT_PATH} . 
        - docker tag ${CI_REGISTRY}/${CI_PROJECT_PATH} ${CI_REGISTRY}/${CI_PROJECT_PATH}:${CI_COMMIT_SHORT_SHA}
        - docker push ${CI_REGISTRY}/${CI_PROJECT_PATH}:${CI_COMMIT_SHORT_SHA}

    variables:
      DOCKER_HOST: tcp://docker:2375/
    deploy:
      stage: deploy
      image:
        name: bitnami/kubectl:latest
        entrypoint: [""]

      script:
        - USER_TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)
        - CERTIFICATE_AUTHORITY_DATA=$(cat /var/run/secrets/kubernetes.io/serviceaccount/ca.crt | base64 -i -w0 -)
        - kubectl config set-cluster k8s --server="https://kubernetes.default.svc"
        - kubectl config set clusters.k8s.certificate-authority-data ${CERTIFICATE_AUTHORITY_DATA}
        - kubectl config set-credentials gitlab --token="${USER_TOKEN}"
        - kubectl config set-context default --cluster=k8s --user=gitlab
        - kubectl config use-context default
        - kubectl set image deployment test-flight web=${CI_REGISTRY}/${CI_PROJECT_PATH}:${CI_COMMIT_SHORT_SHA} -n test-flight-dev

$ USER_TOKEN = $ (cat /var/run/secrets/kubernetes.io/serviceaccount/token) cat: /var/run/secrets/kubernetes.io/serviceaccount/token: такого файла или каталога нет

Обновление: создание среды и присоединение ее к этапу решают проблему определения кластера, в котором будет выполняться развертывание, и поэтому кластер может получить действие для применения команды

1 Ответ

0 голосов
/ 19 апреля 2020

Создание среды и ее присоединение к этапу решают проблему определения кластера, которым будет развертывание, и поэтому кластер может получить действие для применения командной среды: имя: производство

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...