Трэвис вручную подтвердит следующий этап - PullRequest
0 голосов
/ 13 июня 2018

У меня есть стадии test и production.Я хотел бы вручную подтвердить развертывание в производство.Есть ли способ добиться этого?

1 Ответ

0 голосов
/ 13 июня 2018

Вы можете использовать Условное развертывание .Это позволяет вам указать, нажимаете ли вы на production или test.Сочетайте его, например, с check-live-deployment.sh -скриптом и различайте ветви и / или помеченные коммиты.

Например:

#!/bin/bash
set -e

contains() {
    if [[ $TRAVIS_TAG = *"-live"* ]]
    then
        #"-live" is in $TRAVIS_TAG
        echo "true"
    else
        #"-live" is not in $TRAVIS_TAG
        echo "false"
    fi
}

echo "============== CHECKING IF DEPLOYMENT CONDITION IS MET =============="
export LIVE=$(contains)

и .travis.yml для развертывания dev / staging / live в Cloud Foundry:

sudo: false
language: node_js
node_js:
  - '8.9.4'
branches:
  only:
    - master
    - "/v*/"
script:
  - printenv 
before_install:
  - chmod +x -R ci
install:
  - source ci/check_live_deployment.sh
  - ./ci/check_live_deployment.sh
deploy:
  - provider: script
    skip_cleanup: true
    script: env CF_SPACE=$CF_SPACE_DEV CF_MANIFEST=manifest-dev.yml ci/deploy_to_cf.sh
    on:
      tags: false
  - provider: script
    skip_cleanup: true
    script: env CF_SPACE=$CF_SPACE_STAGING CF_MANIFEST=manifest-staging.yml ci/deploy_to_cf.sh
    on:
      tags: true
  - provider: script
    skip_cleanup: true
    script: env CF_SPACE=$CF_SPACE_LIVE CF_MANIFEST=manifest-live.yml ci/deploy_to_cf.sh
    on:
      tags: true
      condition: $LIVE = true

В этом примере значение dev увеличивается, если ветвь является главной &&, тэг отсутствует, staging, если это фиксация с тегами, и staging + live, если это коммит с фиксацией на master (версия) и развертывание.условие выполнено.

Предоставлено: Возможно, не самое красивое решение, но оно определенно работает.И это не Трэвис, ожидающий, что вы вручную подтвердите развертывание в режиме реального времени (что бы высмеивало весь принцип автоматического развертывания imo), но это способ гарантировать, что вам придется вручную запускать конвейер определенным образом.

...