web-dev-qa-db-ja.com

Gitブランチを反映するように.deb-packages名を定義する方法

私たちのチームはアプリケーションを開発します。このアプリケーションはDebianで実行することを目的としているため、.debパッケージを介して適切なDebianの方法で実行しました。このアプリはC++/Pythonで記述されており、Gitを使用してバージョン管理されています。

スナップショットとリリースバージョンを配置するプライベートDebianリポジトリがあります(アプローチはJava world)から取得):

  • appname-1.2-SNAPSHOT.deb
  • appname-1.2.1.deb

現在、一部の開発者は分岐し、コードを記述し、最終的にプルリクエストを作成しています。プルリクエストによって、彼の作業のテストをトリガーしたいと思います-マスターブランチに行くのがそれほど悪くないことを確認してください。だから私はVMそして..テストをトリガーする前にDebianリポジトリから何をインストールする必要がありますか?ベストプラクティスは何ですか?

2
Michael A.

プルリクエストをテストするときは、プルリクエストを受け入れて現在のマスターブランチにマージした結果が、すべての種類のものをすぐに壊さないことを確認する必要があります。
これは、VMでテストされるバージョンは、プルリクエストをマスターにマージした結果である必要があることを意味します。

このソフトウェアを含むDebianパッケージを「バージョン」と呼ぶものについて質問がある場合、そのための標準はありません。これは、プロジェクト周辺のインフラストラクチャがどのように編成されているかに大きく依存します。

マージする前にテストされているプルリクエストが1つしかない場合は、appname-PRE_MERGE.debappname-PULL_REQUEST.debなどの固定名を使用できます。
複数のアクティブなプルリクエストが存在する可能性がある場合は、異なるプルリクエストが相互に干渉しないように、ソースブランチの名前をパッケージ名にエンコードすることをお勧めします。

いずれにせよ、これらのプルリクエストパッケージは、永続的な値がないため、テスト(および合格)されたときにリポジトリから削除する必要があります。