※個人的な学習メモです。
Azure DevOpsとはCI/CDサービスか?
CI/CDにも使用できるが、もっと広い開発支援が可能なプラットフォーム。Azuire ReposはGitリポジトリ(またはTFVCが使われる)、Azure PipelineはCI/CDパイプライン構築が可能で他にも様々な機能がある。
CI/CDツールとテスト結果は同じログに吐き出されるのですか?テスト結果とツール類のログはどのように通常は管理するのか?
CI/CDツールによっては標準出力にテストの成否が含まれるが、通常テスト結果はベットファイル出力されるもの。
.NET Frameworkのテストツールでよく使われるのは?
NSTestかNUnitだがVB.NETだとMSTestが最も使われる。NSTestはVS2022に標準で含まれており、NUnitはいつでも追加できる。C#だとMSTestもNUnitも使われるが、xUnitがもっともモダンなツールで選ばれるツールである。
TFVCはGitへ置き換わっていく
TFVCは中央集権型のバージョン管理システムで利点の多いGitに今後は置き換わる。Gitと比較した場合のTFVCのダメなところは「サーバにチェックインしないと履歴が保存されない」「オフライン作業ができない」「ブランチ作成が重い」「マージの自由度が低い」「開発者間の分散作業が苦手」「MacやLinuxでの利用に適していない」など。
TFVCはリベースがない。
ブランチの変更履歴を付け替える作業であるリベースができない。
※リベースは、見やすく生地する作業だが時と場合を選ぶ必要がある(というより自分が使用しているブランチでのみ使用する)。複数のコミットを1つのコミットにまとめたり、コミットの順番を入れ替えたり、誤ったコミットメッセージの修正やコミットを分割したり、バグフィックスや新機能開発中に最新の状態を取り込む時などに使用する。
※リベースは多くのメンバーが使用する共有ブランチで実施しないこと。やったらその現場をクビになるだろう。
TFVCはチェリーピックができない。
特定のコミットを別ブランチに取り込むチェリーピックができない。
インタラクティブマージができない。
どの変更をどう取り込むのか、手動で選ぶインタラクティブなマージはできない。
以上。
コメント