1
は、私はそうのようなパイプラインのセットアップとアプリがあります。この複数の手動、並列ジョブを設定するにはどうすればよいですか?
stages:
- test
- deploy
test:
script:
- bash run_tests.sh
deploy_staging:
stage: deploy
script:
- rsync -rltvz --delete -e ssh --exclude=.git* public/ [email protected]_node:/path/to/directory
environment:
name: staging
url: https://staging.app.example.com
only:
- master
deploy_production:
stage: deploy
script:
- rsync -rltvz --delete -e ssh --exclude=.git* public/ [email protected]_node1:/path/to/directory
- rsync -rltvz --delete -e ssh --exclude=.git* public/ [email protected]_node2:/path/to/directory
environment:
name: production
url: https://app.example.com
when: manual
only:
- master
よう.gitlab-ci.yml
ファイルで
図
を私がしたい別のアプリを持っています同様に展開するには、次のように並列ジョブを使用したい:
0123図A、deploy_production
で
図B
手動工程(例えば、ありますディレクトリを複数のサーバーノードにrsyncします)。図Bのdeploy_node1
とdeploy_node2
に展開すると、Gitlab UIを使用して手動でトリガされる単一のステップ(例:rsyncよりもはるかに時間がかかります)になります。
.gitlab-ci.yml
を構成して、手動で1回クリックするだけで、展開ジョブを並列に実行するにはどうすればよいですか。
更新(ヤクブカニアの答えへの応答):
はあなたが考えていたもののこの種、ヤクブますか?
トリガーを使用しようとするが、この.gitlab-ci.yml
に向けて私をリード:
stages:
- test
- stage
- deploy
test:
script:
- bash run_tests.sh
staging:
stage: stage
script:
- rsync -rltvz --delete -e ssh --exclude=.git* public/ [email protected]_node:/path/to/directory
environment:
name: staging
url: https://staging.app.example.com
only:
- master
except:
- triggers
deploy_trigger:
stage: deploy
script:
- "curl -X POST -F token=TOKEN -F ref=master https://gitlab.example.com/api/v4/projects/1234/trigger/pipeline"
environment:
name: production
url: https://app.example.com
only:
- master
except:
- triggers
when: manual
deploy_node1:
stage: deploy
script:
- rsync -rltvz --delete -e ssh --exclude=.git* public/ [email protected]_node1:/path/to/directory
environment:
name: production
url: https://app.example.com
only:
- master
- triggers
deploy_node2:
stage: deploy
script:
- rsync -rltvz --delete -e ssh --exclude=.git* public/ [email protected]_node2:/path/to/directory
environment:
name: production
url: https://app.example.com
only:
- master
- triggers
提案された新しい設定ファイルを使用して私の質問を更新しました。あなたが考えていた行に沿ったものですか? –