[解決済み] VagrantとJenkinsを組み合わせて完璧な継続的インテグレーション環境を作るには?
2023-05-02 16:32:18
質問
あなたは、実行するためにいくつかの SW の要件を持っているプロジェクトを持っています (たとえば、特定のバージョンの Apache、PHP のバージョン、MySQL データベースのインスタンス、および他のソフトウェアのいくつかの部分)。
あなたはすでに Vagrant を発見したので、仮想環境はすべてセットアップされています。設定ファイルやクックブックからボックスを作成することができます。
のような継続的インテグレーションシステムの利点も理解されたことでしょう。 Jenkins .
さて、この2つの世界(VagrantとJenkins)を組み合わせて、完璧な継続的インテグレーション環境を手に入れたいと思います。具体的には、Jenkinsが動作しているマシンにプロジェクトに必要なソフトウェアをインストールせず、Vagrantが提供する仮想環境を使って、その上で定期的にプロジェクトをビルドしたいと思います。CIソフトウェア(Jenkins)がVagrantのボックスを構築し、その上でプロジェクトのビルドとテストを行ってくれるのです。
これを実現するために、どのように環境を設定するのでしょうか?
どのように解決するのですか?
ビルドシステムのための良い解決策だと思います。
- 現在のjenkinsがマスターCIとして動作している(おそらくユーザーjenkinsによって起動されている)。
-
同じマシンまたは別のマシンで別のユーザーを作成し、jenkinsのスレーブモードとして動作させます。
- jenkins スレーブは jenkins マスターから呼び出すことができ、vagrant のように権限と環境を持った別のユーザーを使うことができるので、元の jenkins マスターサーバーに干渉することはないでしょう。
- ベースとなるvagrant boxを作成し、デプロイのスピードアップのために再利用することができます。
- ほとんどのインストール情報(パッケージ)は、puppet(またはchef)で管理し、vm boxにロードすることができます。
おそらく、以下のサイトを参考にするとよいでしょう。 ヴィー を見てみてください。
以下は Jenkins CIとVagrantでCIを楽にする を参考に、この提案のためのガイドラインを作成しました。
関連
-
[解決済み] 継続的インテグレーションと継続的デリバリーと継続的デプロイメントの比較
-
[解決済み】Jenkinsのビルドの現在の状態をGitHubのリポジトリに表示する
-
[解決済み] プロジェクトにオンラインランナーが割り当てられていないため、このジョブは停止しています。ランナーのページへ
-
[解決済み] Jenkinsのアーティファクトをアーカイブする
-
[解決済み] Terraformを使用する際のベストプラクティス [終了しました]。
-
[解決済み] Jenkinsは、実行するジョブの設定ファイルをどこに保存しますか?
-
[解決済み] 継続的インテグレーションのためのCruiseControl [.Net] vs TeamCity?
-
[解決済み] Pythonのための "きれいな "継続的インテグレーション
-
[解決済み] 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 実装 サイバーパンク風ボタン