私はTeamCityをビルドに使用するプロジェクトを行っています。すべてのビルド(TeamCity)で変更されるパスを決定するPowerShellのオプションは何ですか?
私はVMを持っており、いくつかのファイルをバックアップするPowerShellスクリプトを作成し、TeamCityから手動でダウンロードしたZIPアーティファクトを開き、それを自分のVMにコピーします。
ZIPアーティファクト(常に同じ名前)を取得するようにスクリプトを強化したいと思います。
問題は、ダウンロードパスには常に変更されているビルド番号が含まれていることです。 ZIPアーティファクトのダウンロードパスを要求する以外に、私はそれが本当に気にしません。
例アーティファクトパスかもしれないこと:
のhttp:// {サーバー} /リポジトリ/ダウンロード/ {プロジェクト}/{BUILD_NUMBER} ID/{プロジェクト}
の.zip TeamCityにはビルド番号を取得できる「最後に成功したビルド」ページがあります。
この問題にアプローチするにはどうすればよいと思いますか?
私はTeamCityを初めて使っていますが、答えは「TeamCityはこれを実行します - あなたはPowerShellスクリプトは必要ありません」ということもあります。その点では方向性が役立つでしょう。
現時点では、PowerShellスクリプトはトリックを実行し、実行には約30秒しかかかりません(手動でファイルをコピーするすべてのピアよりもはるかに高速です)。私はZIPのダウンロードを自動化するだけで満足していますので、私はスクリプトを "実行して忘れ"て、更新されたVMで終わることができます。
PowerShellを使用して実行時に変更するパス情報を入力して取得する知識ギャップが最小限に抑えられているようです。
私はこの情報を収集するためにPS内でC#を使用するかもしれませんが、私はそれを行うためのより多くのPS方法を望んでいました。
あなたの考えとアドバイスをお寄せいただきありがとうございます!
更新:Octopus Deploy(https://octopus.com/)を使用していたいくつかのチームがこの種のものを使用していたことが判明しました。私は今のところそれを使用しています - 実際はPSソリューション全体よりも面倒ですこの時点で手動で新しいビルドを開始するためのいくつかの手順を実行します。
また、TC管理者が新しいビルドが利用可能になったときにOctopusに通知するWebhookなどを提供するのを待っています。私がそれを持っていれば、Octopusの管理者は、導入を自動的に行うことができるはずだと言います。
明るい面では、Octopus用に用意されたwebhookプラグインを使用してMicrosoft Teamsと統合されたビルドプロセスがあります。また、Octopusの開発者は、これを単純化するためにMicrosoft Teamsコネクタを作成することを検討しています。私のチームチャットで新しいビルドが利用可能であるという通知を受けることはいいことです。
ビルドを選択する基準は何ですか?特定のTeamCity設定やタグ付き、固定などで最後に成功したように。 – Yaegor
この場合、それは作業ブランチへのチェックインです。私は、自分のVMがチームに提供されている最新のコードを代表するようにしています。 –