2

コミットまたは同様のトリガー時に次のことを行う継続的インテグレーション システムをセットアップしたいと考えています。

  • 必要に応じて、Fortran/C/C++ コードでテストを実行します。
  • cmake を使用してそのコードをコンパイルします。
  • Rails アプリでテストを実行します。
  • Rails ap をコンパイルします。
  • サーバーを再起動します。

私はジェンキンスを見ています。この種の作業に最適な選択でしょうか? また、(可能であれば) それをすべて行う bash スクリプトを使用することと、ジェンキンを使用することの違いは何ですか? スクリプトの使用を考えているからではなく、ジェンキンスをよりよく理解するために質問しています。

4

3 に答える 3

2

Java プロジェクトに Jenkins を使用していますが、設定が簡単だと言わざるを得ません。以前は、ビルド手順をより適切に構成するために多くのプラグインを追加していましたが、主に 2 つの理由から、ビルド手順とデプロイ手順にスクリプト言語を使用することに戻る傾向があります。ビルド スクリプトがある場合は、別の Jenkins サーバーで同じジョブを構成するか、必要に応じてスクリプトを手動で実行する方が簡単で、ビルド構成がそれほど雑然としていません (ビルド後のステップが 50 を超える 1 つの Maven ジョブがまだあります)。 . 2 つ目の理由は、SVN でビルド構成を使用するよりも、SVN でスクリプトをバージョン管理する方が簡単だからです。

だからあなたの質問に答えるために。それが「最高の」ツールかどうかはわかりませんが、私には十分です。スクリプトについて: 各ツールをビルドの目的に合わせて使用​​してください。Jenkins は、分析の表示に関して優れたオプションを備えた栄光の cron デーモンです。人々がそれを使用するための学習曲線は最小限です (つまり、ジョブを開始し、それが失敗したかどうかを確認します)。Jenkins の構成にはもう少し学習が必要ですが、単純なジョブをセットアップして、より複雑なタスクに進むのは非常に簡単です。

于 2013-10-21T16:12:05.877 に答える
1

最初の 4 つのアクティビティについては、Jenkins がジョブを実行し、現在ではむしろ最良の選択ですが、サーバーの再起動 (実際には「リモート実行」) などについては、以下を参照してください。

また:

Fabric(Python) や Capistrano(Ruby) などのライブラリも役立つ場合があります。

于 2013-10-20T15:07:57.047 に答える