Как развернуть или сделать обновление обновления в зависимости от существующего контроллера репликации? - PullRequest
0 голосов
/ 01 июля 2019

e

У меня есть несколько этапов в докере. Я использую как обновление, так и развертывание. в настоящее время, если ничего не развернуто, я должен выполнить развертывание вручную, и каждый раз, когда я обновляю, обновление будет запускаться само по себе.

Я хочу все автоматизировать. Я хочу написать некоторое условие, чтобы проверить, если существует существующий контроллер репликации, затем выполните обновление по очереди, а затем выполните развертывание. Я попытался поместить операторы if в сценарии как при развертывании, так и при развертывании.

- >
  if rancher --debug kubectl rollout status deployment $CI_PROJECT_NAME; then
      exit 0
  fi 

к сожалению, я получил ошибку:

ОШИБКА: задание не выполнено (сбой системы): секреты "runner-yx1bv22m-project-122-concurrent-0vrbdb" запрещен: превышен квота: по умолчанию-467s2, запрошено: секреты = 1, использовано: секреты = 20, ограничено: секреты = 20

насколько я понимаю, я не могу запустить обе работы одновременно. Как правильно установить развертывание или обновление в зависимости от текущего состояния развертывания?

1 Ответ

0 голосов
/ 01 июля 2019

enter image description here

В основном я избавился от второй работы. Сейчас я делаю все за одну работу.

  script:
    other scripts
    - CHECK_DEPLOYMENT=$(rancher --debug kubectl --insecure-skip-tls-verify get deployments -n $CI_PROJECT_NAME-$CI_COMMIT_REF_SLUG | grep $CI_PROJECT_NAME | awk '{print $1}')
    - >
      if [ "$CHECK_DEPLOYMENT" == "$CI_PROJECT_NAME" ]; then
        do rollup script
      else
        do deploy script
      fi

и развертывание, и объединение выполняются путем добавления одного оператора if. в зависимости от развертывания он будет либо свернут, либо развернут.

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