nope
4021 ワード
概要
仮想マシンには、ハードウェアリソースを節約するだけでなく、システム環境を迅速に切り替えることができ、ソフトウェア開発において大きな役割を果たすメリットがたくさんあります.
『継続的な配信』第11章(11.7.1)では、仮想マシン環境の管理について説明しています.以下の図
継続的に統合されたJenkins CIサーバ(以下jenkinsと略称する)では、アプリケーションをテストするためにさまざまなサーバが必要です.仮想マシンのVMMテンプレートライブラリから、必要なさまざまなタイプの仮想マシンを迅速に起動できます.すべての仮想マシンを再インストールしたり(時間を節約したり)、テストを完了したり、レポートを生成したりしても、急速に消えてしまいます(お金を節約します).
きれいな実装案vagrant+jenkins実装テクニックを見てみましょう.
基本的な知識
vagrant
異なる仮想マシン技術(virtualbox,vmware,xen/kvmなど)は、異なる方法で管理される可能性があります.vagrantはvirtualboxのフロントエンドであり、virtualbox仮想マシンの操作を簡素化し、自動化(provisioning)のpuppet/chefのサポートを追加しています.ここでは詳しく説明しません.vagrantの入門紹介はすでに詳しく、ブログも参考にすることができます.
次のいくつかの命令を知っておく必要があります$ cd ubuntu1104-vm # ubuntu 11.04
$ vagrant up # ubuntu
$ vagrant ssh -c "pwd"
/home/vagrant
$ vagrant halt #
jenkins CI
Jenkinsは最も一般的な持続的な統合サーバであり、単独で実行したり、Webサーバで実行したりすることができます.
タスク(jenkins job)を直接起動してvagrantを呼び出して仮想マシンを操作するのはよくありません.jenkinsを起動するユーザー(tomcatなど)の権限が小さいため、タスクの誤操作を防ぐことができます.
幸いjenkinsにはスーパー素晴らしい主従モード(master/slave)があって解決した.
シナリオ構築
vagrant
異なる仮想マシン技術(virtualbox,vmware,xen/kvmなど)は、異なる方法で管理される可能性があります.vagrantはvirtualboxのフロントエンドであり、virtualbox仮想マシンの操作を簡素化し、自動化(provisioning)のpuppet/chefのサポートを追加しています.ここでは詳しく説明しません.vagrantの入門紹介はすでに詳しく、ブログも参考にすることができます.
次のいくつかの命令を知っておく必要があります
$ cd ubuntu1104-vm # ubuntu 11.04
$ vagrant up # ubuntu
$ vagrant ssh -c "pwd"
/home/vagrant
$ vagrant halt #
jenkins CI
Jenkinsは最も一般的な持続的な統合サーバであり、単独で実行したり、Webサーバで実行したりすることができます.
タスク(jenkins job)を直接起動してvagrantを呼び出して仮想マシンを操作するのはよくありません.jenkinsを起動するユーザー(tomcatなど)の権限が小さいため、タスクの誤操作を防ぐことができます.
幸いjenkinsにはスーパー素晴らしい主従モード(master/slave)があって解決した.