【问题标题】:Travis manually confirm next stageTravis 手动确认下一阶段
【发布时间】:2018-06-13 07:49:24
【问题描述】:

我有一个舞台testproduction。我想手动确认部署到生产。有没有办法做到这一点?

【问题讨论】:

    标签: travis-ci


    【解决方案1】:

    您可以使用Conditional Deployments。这允许您指定是推送到production 还是test。 将其与例如check-live-deployment.sh-script 并区分分支和/或标记提交。

    例如:

    #!/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.ymldev/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如果它是一个标记提交到主(一个版本)和满足部署条件。

    授予: 也许不是最漂亮的解决方案,但它绝对有效。这不是 Travis 等待您手动确认实时部署(这有点嘲笑 imo 整个自动化部署原则),而是一种保证,您必须以特定方式手动触发管道。

    【讨论】:

    • check_live_deployment.sh 步骤是不必要的。如果 $TRAVIS_TAG 包含带有正则表达式的“-live”,您可以检查条件,如下所示:if: tag =~ -live
    猜你喜欢
    • 2022-08-18
    • 1970-01-01
    • 2020-06-04
    • 2020-06-29
    • 2021-12-07
    • 1970-01-01
    • 1970-01-01
    • 2017-09-13
    • 1970-01-01
    相关资源
    最近更新 更多