GitLab CIでビルドプロセスをセットアップしようとしています。 今、私はPowershellでWindowsランナーを使用しています。ビルドプロセスがビルドのバージョン番号でコミットに自動的にタグを付けるようにしたいと思います。Gitlab CIでビルド時の自動タグコミット
主な理由は、Gitlab wikiで自動変更ログの生成を有効にし、実際のプロジェクトリポジトリに置かれているchangelog.mdと混同しないようにすることです。
私はPowershellスクリプトからタグをプッシュしようとしましたが、プッシュは決して完了せず、無限に循環します。なぜこれが起こるのかはわかりません。
スクリプトは、以下のコマンドを呼び出します。ここ
[System.Console]::WriteLine("Tagging git commit (${env:CI_BUILD_REF}) with tag (v$Version)");
$gitProcess = Start-Process -FilePath "git" -NoNewWindow -Wait -PassThru -ArgumentList "tag -a v$Version ${env:CI_BUILD_REF} -m ${env:CI_BUILD_REF_NAME}_$Version"
if($gitProcess.ExitCode -ne 0)
{
[System.Console]::WriteLine("Git failed to tag the current build");
exit $gitProcess.ExitCode
}
[System.Console]::WriteLine("Pushing tag");
$gitProcess = Start-Process -FilePath "git" -NoNewWindow -Wait -PassThru -ArgumentList "push origin v$Version"
if($gitProcess.ExitCode -ne 0)
{
[System.Console]::WriteLine("Git could not push tags to GitLab");
exit $gitProcess.ExitCode
}
は、これらのラインから出力されます:
Tagging git commit (9b2feb10340c9f8c86ce7c29460e0bfc5dba6f31) with tag (v4.1.295.2274)
Pushing tag
プロセスはただここにハングアップ、およびタグがプッシュすることはありませんまたはリポジトリに表示されます。
明確にするために、これはバッチ同等です:-a v%のバージョンここ%
$ env:CI_BUILD_REFで試しましたか?私はあなたが正しい方法でenv変数を使用しているとは思わない。 env変数を使用するために$()を行う必要はありません。 so {} – 4c74356b41
これらの行は正常に動作するように見えますが、投稿に出力を追加します –
cmdからこれを実行しようとしましたか?それは動作しますか? – 4c74356b41