#author("2020-09-04T14:21:37+09:00","default:jomura","jomura")
#author("2020-09-18T06:16:29+09:00","default:jomura","jomura")
#contents
#br
* GitLabの導入 [#x3eed92d]
GitLabは公式Webサイトで公開されている「Official Linux packageパッケージ」を利用して導入する。必要なソフトウェアを一括して導入できる。https://packages.gitlab.com に接続できれば可能。
dockerを用いて導入すると、tcp:22をdocker側にバインドするのが少し気になるので。
** 導入サーバの前提条件 [#r53f35f7]
+ OSはRHEL8(or RHEL7)とする。
+ 事前導入するソフトウェアパッケージは最小構成。
+ インターネットに接続可能 ※必要ならproxy設定
/etc/yum.conf
proxy=http://proxy.jomura.net:8080/ #as your own
~/.bashrc
export HTTP_PROXY=http://proxy.jomura.net:8080/ #as your own
export HTTPS_PROXY=${HTTP_PROXY}
+ パッケージの更新が事前に実行されている
yum clean all && yum -y update && reboot
+ Gitlab Webサイト用のFully Qualified Domain Name(FQDN)が用意されている。
** playbookの作成 [#m076e539]
- Ansibleサーバ上の一般ユーザで実行
- sudoの場合、become_method: sudo
cat << "_EOF_" > pb_gitlab_server.yml
# install gitlab
- hosts: gitlab_servers
become: true
become_method: su
environment: "{{ proxy_env }}"
tasks:
- name: facts check
fail:
msg: "Not compatible with [{{ ansible_os_family }}] {{ ansible_distribution }} {{ ansible_distribution_major_version }}."
when: ansible_os_family != 'RedHat' or ansible_distribution_major_version|int < 7
- name: install rpms
yum:
name: ['curl', '
{%- if ansible_distribution_major_version|int == 7 -%}
policycoreutils-python
{%- else -%}
policycoreutils
{%- endif -%}
', 'openssh-server']
', 'openssh-server', 'tar']
state: latest
- name: firewalld
firewalld:
service: "{{ item }}"
permanent: true
state: enabled
immediate: yes
loop:
- http
- https
- name: Download check script
get_url:
url: https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh
dest: /usr/local/src
mode: '0755'
- name: Run script.rpm.sh
shell: bash script.rpm.sh
args:
chdir: /usr/local/src
register: result
changed_when: '"行うべきことはありません。" not in result.stdout'
- name: Install gitlab-ce
yum:
name: gitlab-ee
state: latest
environment:
EXTERNAL_URL: http://{{ inventory_hostname }}
# notify:
# - gitlab-ctl reconfigure
handlers:
- name: gitlab-ctl reconfigure
shell: gitlab-ctl reconfigure
_EOF_
** playbookの実行 [#w9721eac]
- Ansibleサーバ上の一般ユーザで実行
ansible-playbook -i inventory.yml pb_gitlab_server.yml
- "Install gitlab-ce"に数分かかる