bebetch のすべての投稿

ansible_localを使う

<目的>
Vagrantにて、ホストOSにAnsibleを入れずに、ゲストOSに入れたAnsibleでサーバを構成する

<前提>
Vagrantがインストール済み。

<Ansible設定ファイルの作成>
以下サンプル(YAML形式で記載する。)

- hosts: all
  become: yes
  user: vagrant
  tasks:
    - name: install the latest version of Apache
      yum:
        name=httpd 
        state=latest

hostsはとりあえずallとしておく。指定したい場合は別途hostsファイルの作成が必要。
下手にホスト名を記載してもうまく動かない。

<Vagrant設定ファイルの作成>
以下サンプル。

Vagrant.configure("2") do |config|
  config.vm.box = "bento/centos-7.2"

  config.vm.network :forwarded_port, guest: 22, host: 2222, id: "ssh", auto_correct: true

  config.vm.provision "shell", :path => "provision/install.sh"
  config.vm.provision "ansible_local" do |ansible|
      ansible.playbook = "provision/abe.yml"
      ansible.limit = 'all'
      ansible.verbose = true
      ansible.install = true
  end
end

provision/install.shは、AnsibleをyumでゲストOSにインストールするためのシェル。
適当に作っておけば良い。

<起動手順>
vagrant init bento/centos-7.2
vagrant plugin install vagrant-vbguest
vagrant up –provision
<動作確認>
vagrant ssh
とすればログインできる。
>sudo -s
とすればrootになれるので、あとはお好きなように何なりと。

Vagrantでmountできない

yum update実行後、以下のエラーが出て、マウントできない。

Vagrant was unable to mount VirtualBox shared folders. This is usually
because the filesystem "vboxsf" is not available. This filesystem is
made available via the VirtualBox Guest Additions and kernel module.
Please verify that these guest additions are properly installed in the
guest. This is not a bug in Vagrant and is usually caused by a faulty
Vagrant box. For context, the command attempted was:

対処方法
<ゲストOS>

yum install kernel-devel
yum install gcc make

<ホストOS>

vagrant vbguest
vagrant plugin install vagrant-vbguest
vagrant vbguest
vagrant halt
vagrant up

以上

参考サイト
http://qiita.com/DQNEO/items/2375dd8002a831268cb5

VagrantのConfigの書き方

・メモリのアサイン

    config.vm.provider :virtualbox do |v|
       v.name = "centos7.1"
       v.customize ["modifyvm", :id, "--memory", 3072]
    end

・CPU個数の設定

    config.vm.provider "virtualbox" do |vb|
        vb.customize ["modifyvm", :id, "--cpus", "1"]
    end

・ネットワークの設定(IP)

    config.vm.network :private_network, ip: "192.168.37.2"

・シェルの実行

    config.vm.provision "shell", :path => "provision/install.sh"

・LocalAnsibleの実行

    config.vm.provision "ansible_local" do |ansible|
        ansible.playbook = "provision/vagrant.yml"
    end

Ansible2.0

<前提>
・VagrantにてOSのインストール済み
・SSHログイン可能なユーザを使用する

<条件>
AnsibleがHostOSからGuestOSの設定する方法とGuestOS内Localで実施する方法とがあります。
今回は、GuestOS内Localで実施する方法を記載する。

<手順1:インストール>

>yum update
>yum install epel-release
>yum install ansible --enablerepo=epel-testing

ホストの設定

vi /etc/ansible/hosts

<手順2:playbook作成>
こんな感じにYAML形式にて作成

- hosts: localhost
  tasks:
    - name: install apache
      yum: name=httpd

<手順3:実行>
はじめに動作確認

ansible all -m ping -i hosts

実行

ansible-playbook sample.yml

Vagrant使い方

<前提条件>
・パソコンはMac
・Vagrantがインストール済み
・VirtualBox(Oracle)がインストール済み
・インストール先は以下
~/Documents/VM/vagrant/centos7/
・以下に欲しいOSがあること(今回はCentos7.2でやる)
http://www.vagrantbox.es/

<手順1:BOXインストール>
>vagrant box add centos72 https://github.com/CommanderK5/packer-centos-template/releases/download/0.7.2/vagrant-centos-7.2.box
すると、以下のような感じにBOXのダウンロードが始まる。ここはデータ量がおおいので時間かかる。

==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'centos72' (v0) for provider:
box: Downloading: https://github.com/CommanderK5/packer-centos-template/releases/download/0.7.2/vagrant-centos-7.2.box
box: Progress: 3% (Rate: 826k/s, Estimated time remaining: 0:21:34)

<手順2:OSインストール>
まずディレクトリを作成して移動する。
>mkdir   ~/Documents/VM/vagrant/centos72/
>cd ~/Documents/VM/vagrant/centos72/

初期化する
>vagrant init bento/centos-7.2

A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

 

<手順3:OS設定>

・ネットワーク(IPアドレス)の設定

$ vi Vagrantfile
# config.vm.network :private_network, ip: "192.168.33.10"
 ↑ ここのコメントアウトを削除してIPアドレスを好きな値に変更

<手順4:OS起動>
起動する。ちょっと時間かかる。
>vagrant up

<手順5:OSにログイン>
>vagrant ssh

<手順6:OSサスペンド>
>vagrant suspend

<手順7:OS停止>
>vagrant halt

<その他>
以下の表示がされたら、、、
default: Machine already provisioned. Run `vagrant provision` or use the `–provision`
>vagrant provision

ansible_localを使うには以下を実行してプラグインをインストール
vagrant plugin install vagrant-vbguest

<参考>

http://qiita.com/inouet/items/b36638adc2b5772db457

 

Vagrantインストール

Macにインストールします。
楽々でインストールできます。

1:サイトにアクセス。
2:Mac版を選択
3:dmpを実行
4:pkgインストール操作
5:動作確認
  コンソールを開いて以下を実行
  >vagrant –version

こんな感じに表示されて無事終了
Vagrant 1.9.1

Jenkins環境構築

まずインストールする
 wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
 rpm –import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
 yum install java-1.7.0-openjdk
 yum install jenkins
 systemctl enable jenkins
 systemctl start jenkins

続いて初期設定
 ブラウザでアクセス。
  http://localhost:8080/
 初期パスワードを取得し、表示下画面に入力
  >cat /var/lib/jenkins/secrets/initialAdminPassword

続いてプロジェクトの作成
・プロジェクト名を入れる
・「古いビルドの破棄」にチェックを入れる
・Log Rotation を選んで保存日数を入力。30日くらい?
・ソースコード管理でGitを選択
・Repository URL にはリポジトリのURLを。
・ブランチのところは */develop
・ビルドトリガはとりあえず「定期的に実行」で以下のように、クーロンのように。
       H 1 * * *

プラグインを入れる