web-dev-qa-db-ja.com

GitLab CI Startジョブを手動で(デプロイ)

Gitlab ciジョブを手動で開始するようにマークすることは可能ですか?

アプリケーションのデプロイに必要ですが、デプロイするかどうかを決定したい

16

これは、最初の回答が投稿されてから変更されました。元の Gitlab Issue へのリンクは次のとおりです。次のようなことがサポートされています

production:
  stage: deploy
  script: run-deployment $OMNIBUS_GITLAB_PACKAGE
  environment: production
  when: manual

when: manual属性。 UIはそれ自体を更新して、ユーザーがジョブをトリガーする方法を提供します。

18
MOnsDaR

手動で承認されたビルドステップは直接サポートされていません。しかし、 ci triggers を使用することで同様の動作を実現できるはずです。

build_package:
  stage: build
  script:
  - make build

upload_package:
  stage: package
  script:
  - if [ -n "${UPLOAD_TO_S3}" ]; then make upload; fi

次に、POSTリクエストを作成し、構成された変数を渡すことで、再構築をトリガーできます。

curl -X POST \
  -F token=TOKEN \
  -F ref=master \
  -F "variables[UPLOAD_TO_S3]=true" \
  https://gitlab.example.com/api/v3/projects/9/trigger/builds

Gitlabの独自のインスタンスがある場合、curl呼び出しを行う各マージ要求にjavascriptボタンを挿入できるはずです。

2