職場での開発環境の改善
-
22-07-2019 - |
質問
近い将来、職場での開発環境の移動と改善に約2週間かかります。
主に2〜10人の開発者で1つの大きなPHP / MySQLプロジェクトを開発します。
現在、mod_userdirでapacheを実行する1つのdevサーバーがあり、各devには(sambaからアクセス可能な)ホームに/ public_htmlフォルダーがあります。 VCSおよびプロジェクト管理/課題追跡では、SubversionとTracを使用します。 テスト/展開には手動での手順が必要ですが、あまり自動化されていません。
新しいセットアップの私の計画には、既存のものに対する次の変更が含まれます。
- 継続的な統合
- CIをTracに統合し、ビルド進行の成功または失敗後にアクションを開始するプラグインを作成/検索します(つまり、ステージング/ライブにデプロイします)
- 自動展開スクリプトを作成(ワンクリック)
- Integrate( doxygen )-ドキュメントをビルド進行中に、そしてなんとかしてTracに
- 自動バージョン管理 を追加します
- 別の監視レイヤーを追加します(本番システムのnagiosを監視するローカルnagios)
- 夜間に実行するMySQLレプリケーションスレーブを追加します。これにより、開発者はup2dateデータのテストに使用できます
- バックアップ計画を確認する
- すべてをこのように設定した方法と理由を文書化します
さらに改善できるヒント/ヒントはありますか?別の方法でやるべきことは何ですか?
解決
継続的な統合ツールで使用できるように、自動化された展開スクリプトを作成することを確認します。 Hudson (およびCruiseControlの疑いがある)は、基本的にこれらのスクリプトをラップし、気の利いたフロントエンドを提供します。
Hundsonは簡単にインストールでき、 Tracプラグインが付属しています。 SVN、CVS、Gitプラグインおよび Doxygen プラグインなど、ほぼすべてのものあなたが考えることができます。警告:これらのプラグインのすべてを使用したわけではありません。必要な機能を正確に実行できない場合があります...
CIソフトウェアの予算がある場合、TeamCityは一見の価値があります(または Bitten を使用していますか?)。
あなたは絶好の機会ですので、幸運を祈ります!
他のヒント
私の唯一の提案は、多くの時間を費やさないことです
- すべてをこのように設定した方法と理由を文書化します
これは、開発環境を改善するためのリストの最後の項目であり、まだ実行していません。
より良い機能を提供したり、使いやすくしたりするために、各部分は常に修正または改善されています。 「なぜ」を維持しようとすることをお勧めします;実際に実装する場所にできるだけ近いコメントとして。これは、システムを変更する人が必要とする唯一の場所です。
おそらく、物理サーバーのリンクと名前を示す1つの大きな図ですが、それ以外はドキュメントが面倒であることがわかりました。
乾杯