はじめに
Ansibleを使用してGit 2.16.1をインストールします。
(本記事対象者)
– Ansibleに興味がある方
(検証内容)
– Ansibleを使用して、Gitをインストールします。
(Ansible実行環境)
– 仮想化ソフトウェア : Oracle VM VirtualBox 5.2.6
– OS : Fedora 27
– Ansible: 2.5.0
– インターネット接続 : 可能
1. インストールの準備を行う
1.1. ロールを作成する。
# cat roles/git_install/tasks/main.yml
---
- name: Install yum package
yum:
name: "{{ item }}"
with_items:
- curl-devel
- expat-devel
- gettext-devel
- openssl-devel
- zlib-devel
- wget
- gcc
- cpan
- name: Get git binary
unarchive:
src: "{{ git_url }}"
dest: "{{ git_temp_dir }}"
remote_src: yes
changed_when: false
- name: Make all git binary
make:
chdir: "{{ git_binary_dir }}"
target: all
params:
prefix: "{{ git_prefix }}"
changed_when: false
- name: Make install git binary
make:
chdir: "{{ git_binary_dir }}"
target: install
params:
prefix: "{{ git_prefix }}"
changed_when: false
- name: Remove file
file:
path: "{{ git_binary_dir }}"
state: absent
changed_when: false
# cat roles/git_install/vars/main.yml
-git_version: 2.16.1
git_prefix: /usr/local
git_temp_dir: /tmp
git_binary_dir: "{{ git_temp_dir }}/git-{{ git_version }}"
git_url: "https://www.kernel.org/pub/software/scm/git/git-{{ git_version }}.tar.gz"
1.2. site.ymlを作成する。
# cat site.yml
---
- name: Install git
hosts: all
gather_facts: false
become: true
roles:
- git_install
2. インストールを行う
2.1. ansible-playbookを実行する。
# ansible-playbook -i inventory/local/hosts site.yml
PLAY [Install git] ***********************************************************************************************************
TASK [git_install : Install yum package] *************************************************************************************
changed: [test] => (item=[u'curl-devel', u'expat-devel', u'gettext-devel', u'openssl-devel', u'zlib-devel', u'wget', u'gcc', u'cpan'])
TASK [git_install : Get git binary] ******************************************************************************************
ok: [test]
TASK [git_install : Make all git binary] *************************************************************************************
ok: [test]
TASK [git_install : Make install git binary] *********************************************************************************
ok: [test]
TASK [git_install : Remove file] *********************************************************************************************
ok: [test]
PLAY RECAP *******************************************************************************************************************
test : ok=5 changed=1 unreachable=0 failed=0
2.2. Gitがインストールされていることを確認する。
# git --version
git version 2.16.1
まとめ
リファクタリングの実行は行っていません。
そのため、必要に応じてリファクタリングを実施していただければと思います。
Ansibleの発展に貢献できれば幸いです。
コメントを残す