AnsibleはHudson/JenkinsのようなCIツールの代替になるか?
質問
最近、私たちの会社で Ansible を使用することにしました。しかし、私がAnsibleを使い始めたとき、MavenでJavaプロジェクトを構築するためのモジュールや、JUnitテストやJMeterテストを実行するためのモジュールは見つかりませんでした。
ということで、もしかしたらAnsibleの使い方が間違っているのかもしれない、という疑心暗鬼に陥っている状態です。
Jenkinsを見ると、ビルド、テスト実行、デプロイといったことができる。Hudsonに足りないのは、AWSのようなクラウド環境でのインスタンスの作成・削除です。
では、一般的に、どのような目的でAnsible/Jenkinsを使う必要があるのでしょうか?CIではAnsibleとJenkinsを組み合わせて使う必要があるのでしょうか?
Ansibleの正しい使い方を教えてください。
どのように解決するのですか?
まず、JenkinsとHudsonは基本的に同じプロジェクトです。以下、Jenkinsと表記します。参照 HudsonとJenkinsのどちらを選べばいいのか? , 2012年のハドソン対ジェンキンス そして ユーザーから見て、JenkinsとHudsonの最も顕著な違いは何ですか? をご覧ください。
第二に、Ansibleは継続的統合エンジンであることを意図していません。それは (一般的に) git リポジトリをポーリングしませんし、正気の方法で失敗したビルドを実行しません。
Jenkins を単純に使用できるのはいつですか?
もし、あなたのマシン環境やデプロイメントプロセスが 非常に (Herokuやチーム外で設定されたironなど)であれば、Jenkinsで十分かもしれません。最後のビルドステップ (または連鎖したステップ) としてデプロイを行うカスタムスクリプトを書くことができます。
Ansible を単純に使用できるのはどのような場合ですか?
ビルドやテストが必要なく、デプロイするだけであれば、Ansible で十分かもしれません。たとえば、コマンドラインから、または Ansible Tower を使用してデプロイを実行することができます。これは、小さなプロジェクトや静的なサイトなどには最適です。
どのように連携するのですか?
良い組み合わせは、Jenkins を使ってビルド、テスト、アーティファクトの保存を行うことです。実際のデプロイメント プロセスを処理するために、Ansible または Ansible Tower を呼び出すステップを追加します。これによって、Ansible は マシン の設定を Ansible が処理し、CI プロセスを Jenkins が処理するようにします。
Jenkinsの代替となるものは何ですか?
私が強くお勧めするのは Thoughtworks Go (言語のGoと混同しないでください)を強くお勧めします。その他、CruiseControl、TravisCI、Integrityなどがあります。
関連
-
[解決済み] Jenkinsパイプラインにタイムアウトステップを追加する方法
-
[解決済み] 宣言的なJenkinsパイプラインのステージ間で変数を渡すにはどうしたらいいですか?
-
[解決済み] 5 * * * *」ではなく「H * * *」で荷重を均等に分散させる
-
[解決済み] jenkinsパイプラインにファイルが存在するかどうかをチェックする
-
[解決済み] Jenkinsのマルチブランチパイプラインで "定期的にビルドする"
-
[解決済み] Jenkinsfileでビルドに失敗する
-
[解決済み] Jenkins/Hudsonのビルド履歴をクリアするにはどうすればよいですか?
-
[解決済み] Parameterized Buildでパラメータにアクセスするには?
-
[解決済み] Jenkinsを安全にシャットダウンする方法は?
-
C++継続的統合のためのbuildbotとhudson/jenkinsの比較
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 2012年版 Hudson vs Jenkins [クローズド]のご案内
-
[解決済み] Jenkinsパイプラインの条件付きステップ/ステージ
-
[解決済み] Jenkinsパイプラインにタイムアウトステップを追加する方法
-
[解決済み] パイプラインでsh DSLコマンドのstdoutをキャプチャすることは可能ですか?
-
[解決済み] jenkinsパイプラインにファイルが存在するかどうかをチェックする
-
[解決済み] Jenkins/Hudsonのビルド履歴をクリアするにはどうすればよいですか?
-
[解決済み] Jenkinsを安全にシャットダウンする方法は?
-
Jenkinsでビルドをスケジュールする方法とは?
-
Jenkinsパイプラインif elseが動作しない
-
jenkinsパイプラインAを別のjenkinsパイプラインBで呼び出す方法