質問

コンテキスト:私は伝統的な研究型の作業を行っている小さなソフトウェア会社で働く、および商業スペースで多くの経験を持っていません。私たちは今、商業界にプッシュするためにしようとしています。研究で私たちの起源に、私たちは、プロジェクトの適切なバージョンを維持するという点で非常に急速な開発サイクルと非常に少ない構造に使用されています。

問題:すべての開発者がコードベースのわずかに異なるビューを持っているような構造の欠如は、今、幾分障害のあることが証明されています。 1人の開発者が発見した問題は、別の開発者によって再現性がない、そして次に消えることができる1つのビルドで見つかった問題(またはより悪いが、新たな問題が表示される場合があります)。すなわち、自分自身を - これは、すべてのプロジェクトを統合し、品質と性能の基準が満たされている確保するための責任がある誰かのために非常にイライラ経験のためになります。

潜在的な解決策:個人的に私たちは、固定バージョン番号と定期的なリリースを経て、より良い構造を強化する必要があります確信しています。それは自明私たちの問題の多くを支援する方法を適切なバージョンでなければなりませんが、もちろん、それは問題がないわけではない - 開発者がテストリリースを行うとする余分な作業を行う必要があり、もはやの最新バージョンを使用することはできませんすべて。

質問:ポイントに来て - 発生できるだけスムーズにリリースのために必要なプロセスと労力を確保するためにあなたの戦略の何種類がお勧めですか?私たちは、ビルドシステムのためのバージョン管理のためのgitの、Mavenを使用している、と私たちは、バグトラッキングや継続的インテグレーション・システムが実行されているので、私はツールがあると信じています。私は、適切なリリースプロセスがどのように見えるかについて簡単にわからないと思います。

役に立ちましたか?

解決

あなたは代わりにビッグスリーを持っている:バージョン管理、Mavenとあなたの継続的ビルドサーバー、およびバグの追跡を経由して構築ワンクリック。あなたたちはアジャイル方法論の方に引き寄せられ、そうあなたはすべての回で近く成果の状態でお使いの製品のトランクバージョンを維持しようとするべきであるように思えます。

あなたは、あなたの最初のリリースを行い、そのリリースのためのあなたのトランクバージョンのオフブランチを作成することを決定した場合。ラベリングスキームを決定し、分岐バージョンにラベルを付けるようにしてください。たとえば、あなたの最初のリリースは、1が最初のバージョンを意味し1.0.4530、可能性があり、0は、それが最初のリリース候補だ意味し、4530は、バージョンコントロール・チェンジ・ナンバーです。あなたは、このリリースブランチをテストし、その上での重要なバグを修正します。あなたが別のリリース候補版を発行してしばらくすると、1.1.4807を言います。このプロセスは、(例えば)カップル回以上反復し、あなたのリリースが十分に良好となり、あなたはバージョン1.3.5167を出荷します。

また、あなたの新しい開発は、唯一のトランクバージョンで発生し、時間から時間にあなたが戻ってトランクに1.xのリリースブランチからのバグ修正をマージする必要があります。その後、あなたはあなたの第二のリリースのためのプロセスを繰り返すためにトランクから2.xブランチをオフに分割します。あなたは、一般的に、いくつかのアクティブな枝(プラストランク)を持って開発をトランクに限定し、各ブランチは手付かずの開発から独立したまま。

君たちはそれほど頻繁になり、物事のこつや、あなたの開発者の連携の問題を取得します。しかし、これらの問題は、ほぼすべてのトランクではなく、リリースブランチに限定しようとしている。

他のヒント

  

問題1人の開発者が発見されます   別の開発者によって再現性がありません、   そして問題は1つのビルドで見つかったかもしれません   次の(または悪化し、新に消えます   問題は)表示されることがあります。これは、ためになります   以下のために非常にイライラする経験   責任がある誰か   すべてのプロジェクトを統合し、   確実に品質と性能   基準が満たされている - 。すなわち、自分自身を

     

潜在的な解決策:個人的に私は   私たちはより良い強制する必要があると確信   固定バージョン番号を経由して構造   そして定期的にリリースます。

私はあなただけで内部的に調整するために非常に頻繁にリリースを持っている必要はないと思います。あなたは、バージョン管理によってそれを行うことができます。ただ、問題を報告するとき、人々は特定のGitの改正について話しています。また、あなたも任意の外部依存/ライブラリを調整する必要があることに注意してください。これを助けることができるのベンダブランチのいくつかの種類ます。

これは、開発者が「テストの枝」を使用し、もう少し「安定/生産ブランチ」を尊重する必要があるような音ます。

....「このブランチであなたの野生の西のものを行う」の概念に売る、とあなたは結果に満足しているとき、あなたは、この「退屈な安定した生産ブランチ」にマージ (またはそのような何か)

一般的な話題について書かれた書籍があります。アマゾンの検索でも、専門のための3つのタイトルを返す「のgitでバージョン管理を。」

私はあなたのコードベースの標準的なビューを定義するの恩恵を受けると思います。テストそれを呼び出します。それはテストに表示されている場合は問題が問題です。問題は、一部の開発者のビューに表示されない場合、それは重要な違いであるかを把握するために、その開発者次第です。そして、同様に、開発者のビューに表示され、問題のためではなく、試験におけるます。

テスト毎晩ソースから再構築するために、

一つ慣例です。テストは、すべての更新時に再構築するために、より激しい慣例があります。あなたのチームは偉大な距離または複数のタイムゾーンに分散小型(5以下)とされていない場合、合理的な最初の近似はテストこのワークスペースように、あなたのツールチェーンは、いくつかのcronジョブと一緒にインストールされた時にサーバー上のgitのワークスペースにすることです(通常は)毎晩更新され、再構築されます。

scroll top