ジョエルテストから:
ワンステップでビルドを作成できますか?
私にはできないと言わざるを得ない。現在、展開するために実行する必要があるアイテムのスプレッドシートリストがあるWebアプリで作業しています。だから私の質問はこれをどのように自動化できますか?組織全体である必要がありますか?ヒント/テクニック?
ジョエルテストから:
ワンステップでビルドを作成できますか?
私にはできないと言わざるを得ない。現在、展開するために実行する必要があるアイテムのスプレッドシートリストがあるWebアプリで作業しています。だから私の質問はこれをどのように自動化できますか?組織全体である必要がありますか?ヒント/テクニック?
回答:
makeは、ビルドプロセスを1つのステップに自動化できます。Makeは、あなたが望むものをほとんど実行できます。MakeがC / C ++にのみ適用されるとsapporoが考える理由がわかりません。makeを使用して、任意のタイプのコマンドを実行できます。プログラミングに結び付けられることすらありませんが、それが通常使用されるものです。
ご使用の環境によっては、Make(C / C ++)、Ant / Maven(Java)、Gradle(Groovy)をご覧ください。これは私がよく知っているものです。あなたの環境に人気のあるソリューションがある可能性は高いです。
仕事では、FinalBuilderを使用します。これにより、コードのチェックアウト、すべてのビルド、テストの実行、展開パッケージの作成など、プロセス全体を自動化するスクリプトを簡単に設定できます。
これは非常に優れたツールであり、最近、変更および構成管理ツールでドブスジョルト博士賞を受賞しました。
確かにこれを自動化する方法があります。Chefなどのツールを使用すると、新しくインストールしたばかりのサーバーを簡単にセットアップできます。
knife bootstrap ip.address -N aNameForTheServer -r "role[some functionality]"
私の場合、その単一のコマンドによって実行されるいくつかのステップは次のとおりです。
Windowsのサポートが「予備」としてリストされているため、Chefが環境でどのように機能するかはわかりませんが、UNIXベースのシステムの場合、それはミツバチです。
Puppetは、chefよりも少し古い同様のシステムであり、Windowsのサポートが向上する可能性があります。
Javaの世界でMavenを使用するのは簡単です
mvn clean deploy
構成では、これにより、必要なすべてのWARファイルの構築(必要に応じてJAR依存関係をプル)、dev Webサーバーへの展開、およびdevデータベースでの缶詰のテストデータの作成を行います。それが導入されると、MavenはSeleniumRCを通じて包括的な機能テストを処理し、アプリケーションが機能することを検証します。
この単一のコマンドにより、アプリケーションが開発サーバークラスターに完全にデプロイされるため、他の開発者がすぐに作業できるようになります(テストに合格した場合)。開発者がを使用してローカルで動作することを確認したため、開発者のデプロイメントが失敗することはまれですmvn clean install
。
スナップショットアーティファクト(WAR)は、他の開発者と共有するためにMavenリポジトリにコピーされます(標準のMavenのdeploy
動作に従って)。
わかりましたが、開発者にはスナップショットのみを展開しましたが、テストと運用はどうですか?
テストサーバーと(後の)本番サーバーへの配布は、誰かが疑わしい出力を監視していることを確認するために手動で処理するMavenリリースプロセスを通じて処理されます。テスターは、スナップショットではなく、リリースされたアーティファクトでのみ動作します。
リリースされると、単純なビルドスクリプトを使用してWARファイルをテストサーバークラスターにSFTPで送信し、再びプロセスを監視して問題が発生しないことを確認します。
最後に、すべてのテスターが満足したら、変更されていないWARファイルがフェールオーバー実稼働サーバークラスターにSFTPされ、誰かが災害に備えて注視し、すぐにロールバックします。
ジョエルのテストでそれをチェックできると思ったので...
pythonでビルドサーバーを作成し、pychronを使用して自動化しました。
コードはコマンドラインからVSSと同期され、borland makeでビルドされます(ほとんどのIDEは、それを呼び出すかどうかに関係なくmakeファイルを作成します。Delphiはmakeファイルをポンプアウトして.BPGファイルを呼び出すようになりました。 MSBuild XMLファイルを再作成すると、MSBuildを使用できます)、エラーは追加したばかりのXMLファイルに格納されました。
だから..バッチファイルを書いて、これらのことをしてください。