Ansible을 사용하여 CentOS 7에 GitLab 설치
13457 단어 Ansibleansible-playbookCentOSGitLab
Ansible을 사용하여 CentOS 7에 GitLab 설치
GitLab이란 무엇입니까?라는 분은 다음을 읽을 수 있다고 생각합니다.
작성에 이른 경위
대상자
전제 조건
실행 환경
# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
# ansible --version
ansible 2.8.4
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /bin/ansible
python version = 2.7.5 (default, Aug 7 2019, 00:51:29) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
이 playbook에서하는 일의 개요
본 playbook 실행 후 얻을 수있는 것
이 playbook을 실행하는 방법
# ansible-playbook SetupGitLab.yml
yum update를 건너뛰고 실행하려는 경우
# ansible-playbook SetupGitLab.yml -v --start-at="Install a list of packages"
Vagrant나 OpenStack 등으로 다른 노드에 대해 본 playbook을 실행하고 싶은 경우
아래의 "localhost"에 인벤토리에 기재된 변수로 변경한 후, playbook을 실행해 주세요.
hosts: localhost
GitLab 설치하기 playbook
SetupGitLab.yml
- name: Install GitLab
hosts: localhost
tasks:
- name: Upgrade all packages
yum:
name: '*'
state: latest
- name: Install a list of packages
yum:
name:
- curl
- golang
- policycoreutils
- openssh-server
- openssh-clients
- postfix
- vim
- wget
- "@Development tools"
state: latest
- name: systemctl enabled sshd & systemctl start sshd
systemd:
name: sshd
state: started
enabled: yes
- name: systemctl enabled postfix & systemctl start postfix
systemd:
name: postfix
state: started
enabled: yes
- name: Firewalld-cmd --permanent --add-service=http
firewalld:
service: http
state: enabled
permanent: yes
- name: Reload service firewalld, in all cases
systemd:
name: firewalld
state: reloaded
- name: Download gitlab-ce
get_url:
url: https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh
dest: /usr/local/src
mode: '0755'
become: yes
become_user: root
- name: Run script.rpm.sh
shell: ./script.rpm.sh
args:
chdir: /usr/local/src
become: yes
become_user: root
- name: Install gitlab-ce
yum:
name: gitlab-ce
state: latest
- name: gitlab-ctl reconfigure
shell: gitlab-ctl reconfigure
become: yes
become_user: root
Playbook 런타임 로그
# ansible-playbook SetupGitLab.yml
PLAY [Install GitLab] ***************************************************************************************
TASK [Gathering Facts] **************************************************************************************
ok: [127.0.0.1]
TASK [Upgrade all packages] *********************************************************************************
ok: [127.0.0.1]
TASK [Install a list of packages] ***************************************************************************
changed: [127.0.0.1]
TASK [systemctl enabled sshd & systemctl start sshd] ********************************************************
ok: [127.0.0.1]
TASK [systemctl enabled postfix & systemctl start postfix] **************************************************
changed: [127.0.0.1]
TASK [Firewalld-cmd --permanent --add-service=http] *********************************************************
changed: [127.0.0.1]
TASK [Reload service firewalld, in all cases] ***************************************************************
changed: [127.0.0.1]
TASK [Download gitlab-ce] ***********************************************************************************
changed: [127.0.0.1]
TASK [Run script.rpm.sh] ************************************************************************************
changed: [127.0.0.1]
TASK [Install gitlab-ce] ************************************************************************************
changed: [127.0.0.1]
TASK [gitlab-ctl reconfigure] *******************************************************************************
changed: [127.0.0.1]
PLAY RECAP **************************************************************************************************
127.0.0.1 : ok=11 changed=8 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
GitLab 버전 확인
아래 명령을 실행하여 설치된 GitLab 버전을 확인해 봅시다.
# gitlab-rake gitlab:env:info
System information
System:
Current User: git
Using RVM: no
Ruby Version: 2.6.3p62
Gem Version: 2.7.9
Bundler Version:1.17.3
Rake Version: 12.3.2
Redis Version: 3.2.12
Git Version: 2.22.0
Sidekiq Version:5.2.7
Go Version: go1.11.5 linux/amd64
GitLab information
Version: 12.3.1
Revision: 3440d0f6100
Directory: /opt/gitlab/embedded/service/gitlab-rails
DB Adapter: PostgreSQL
DB Version: 10.9
URL: http://gitlab.example.com
HTTP Clone URL: http://gitlab.example.com/some-group/some-project.git
SSH Clone URL: [email protected]:some-group/some-project.git
Using LDAP: no
Using Omniauth: yes
Omniauth Providers:
GitLab Shell
Version: 10.0.0
Repository storage paths:
- default: /var/opt/gitlab/git-data/repositories
GitLab Shell path: /opt/gitlab/embedded/service/gitlab-shell
Git: /opt/gitlab/embedded/bin/git
GitLab에 대한 액세스 확인
- Username: root
- Password: [2단계에서 설정한 값]
비망록 : GitLab에 필요한 포트가 사용되고 할당되지 않은 경우
다음 파일에 포트 번호를 설정합니다.
# vi /etc/gitlab/gitlab.rb
...
redis['port'] = 16379
postgresql['port'] = 15432
unicorn['port'] = 18080
...
설정 완료 후, 아래의 커맨드로 GitLab의 재구성을 실시
# gitlab-ctl reconfigure
요약
Ansible을 사용하여 CentOS 7에 GitLab을 설치하고 로그인 할 때까지 확인할 수있었습니다. 그리고는 참고서적에 따라, 관리자 권한을 사용해 GitLab의 기능을 여러가지 사용해 보려고 생각합니다. 지금 시도하고 싶은 것은 GitLab Runner입니다.
앞으로 시도하고 싶은 것
참고 URL
이번에 사용한 모듈
참고서적
Reference
이 문제에 관하여(Ansible을 사용하여 CentOS 7에 GitLab 설치), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/GENO/items/6bf1a9d7e1cf41ed358f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)