私は次のような状況です: 2 つの GitLab リポジトリがmaster
ありslave
、テストを実行するには両方を組み合わせる必要があります。
現時点では、次のアプローチを取っています。ビルド ステップとしてmaster
プルする CI プロジェクトを作成し、テストを実行します。slave
ここで、誰かがプッシュするたびにビルドをトリガーしたいと考えてslave
います。これを行う適切な方法は Webhook を使用するように思われるため、次の Webhook を に追加しましたslave
。
https://ci.foo.com/projects/1/build?token=19c72c17f0e69&ref=master
さて、ビルドがトリガーされるslave
と、次のビルドエラーが発生します。
cd /home/gitlab_ci_runner/gitlab-ci-runner/tmp/builds/project-1 && git reset --hard && git clean -fdx && git remote set-url origin https://gitlab-ci-token:19c72c17f0e69@git.foo.com/slave.git && git fetch origin
cd /home/gitlab_ci_runner/gitlab-ci-runner/tmp/builds/project-1 && git reset --hard && git checkout cc807f3023451165cd73a258b4e2b01edbc954a4
HEAD is now at b38bd72 fixed bar
fatal: reference is not a tree: cc807f3023451165cd73a258b4e2b01edbc954a4
問題は、これcc807f3023451165cd73a258b4e2b01edbc954a4
が の最後のコミットであり、 のコミットでslave
はないmaster
ため、チェックアウトが失敗することです。
これを解決する方法を知っている人、またはこの状況で Webhook を使用する以外の解決策を知っている人はいますか?