4

ワークフロー内の何かが繰り返しタスクであることに気付いたときはいつでも、それを自動化しようとします。

たとえば、サーバーに何かをデプロイするために必要な手順です。多くの場合、ビルドであり、その後にscpが続き、最後にいくつかのリモート セットアップ スクリプトが続きます。

  1. mvn パッケージ
  2. scp ターゲット/foobar.jar サーバー:
  3. ssh サーバーのインストール-foobar
  4. ssh サーバー './bin/foobar 再起動'

このような場合、私は次のような小さな Makefile を作成する傾向があります。

  deploy:
      mvn package
      scp target/foobar.jar server:
      ssh server install-foobar
      ssh server './bin/foobar restart'

ワークフローをどのよう自動化しますか?
Ant は最適なツールですか? 長所/短所は何ですか?

4

9 に答える 9

2

Java 開発では、Ant がデフォルトの選択肢だと思います。

プロ:

  • 良いドキュメンテーション、
  • 優れた IDE 統合
  • 多くのサードパーティの拡張機能とツール

短所:

  • やや冗長 (これはまだ別の XML 形式です)
  • シンプルであるべきいくつかのことはそうではありません (例えば、あらゆる種類のループ)

私は実際にメイクファイルを使用した経験がないので、それらがどのように比較されるかはわかりません。おそらく、開発者がより経験を積んだものを使用するだけでよいでしょう。

于 2008-12-28T14:58:04.573 に答える
1

Pythonの場合、必要な建物のデプロイ手順とsetuptoolsにファブリックを使用する傾向があります(私にとっては通常ではありません:-)

Fabricは、ファイルをサーバーにコピーし、リモートサーバーでコマンドを実行する方法を理解しています(標準ユーザーとrootの両方として)。

于 2009-02-06T13:02:07.347 に答える
1

ほとんどのビルドシステムが非常に複雑である理由の1つは、人々がそれらの中で多くのことをしようとしていることです。非コンパイル/リンクタスクを処理するドライバースクリプトでビルドシステムを補完するのが良い方法である場合があります。単一の方法はありません。プロジェクトのソースコード構造と実行する必要のあるすべてのタスクを確認せずに質問に答えるのは困難です。ただし、Make、Ant、およびMavenを補完するRakeを確認することをお勧めします。

于 2011-05-05T05:41:14.700 に答える
1

GAnt を検討してください ( http://gant.codehaus.org/ )。Groovy のビルダーを使用すると、Ant ビルド スクリプトよりもはるかに簡潔になります。

于 2008-12-28T15:04:47.010 に答える
1

SCons はもう1 つの優れたツールです。また、Capistranoは試したことはありませんが、評価が高いようです。

于 2008-12-28T14:58:45.447 に答える
1

シェルスクリプトとPerlスクリプトを使用しています

于 2008-12-28T15:03:05.983 に答える
0

スクリプト(シェル、perl、python)またはmakefileを使用します。AntとSConsは好きではありません

于 2009-01-16T18:54:39.430 に答える
0

レーキは私の選択です。

于 2008-12-28T14:34:46.243 に答える
0

Ant とその XML 構成構文は少し扱いに​​くいと思います。些細なことであっても、Ant で取得するのが非常に難しいものがあります。私はそのような自動化SConsを好みます。

私が少し使用したものを展開するために正確に作成された別のツールがあり、かなりクールでしたが、その名前を忘れました。おそらく他の誰かがそれを覚えているでしょう:)。

于 2008-12-28T14:58:37.817 に答える