-
깃랩 Gitlab 및 Gitlab-Runner 설치 - Rocky Linux 9.2Git 2024. 2. 6. 21:51반응형
Rocky 에 Gitlab 설치 진행시
필요한 최소 사양
- 1GB 이상의 사용 가능한 RAM
- *SSL 인증 사용시 - 도메인 필요
- sudo 권한의 사용자
-------------------------------------------------------------------
# 1. 필수 패키지 업데이트
sudo dnf -y update
종속성 설치
sudo dnf -y install curl vim policycoreutils python3-policycoreutils git
# 2. Gitlab CE 추가
시스템에 공식 저장소를 추가 (* Rocky Linux에서 Gitlab 기본 레포지토리를 지원하지 않아서 추가해야함.)
sudo vim /etc/yum.repos.d/gitlab_gitlab-ce.repo
.repo 파일에 해당 내용 추가
[gitlab_gitlab-ce] name=gitlab_gitlab-ce baseurl=https://packages.gitlab.com/gitlab/gitlab-ce/el/8/$basearch repo_gpgcheck=1 gpgcheck=1 enabled=1 gpgkey=https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 [gitlab_gitlab-ce-source] name=gitlab_gitlab-ce-source baseurl=https://packages.gitlab.com/gitlab/gitlab-ce/el/8/SRPMS repo_gpgcheck=1 gpgcheck=1 enabled=1 gpgkey=https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300
저장소가 생성됬는지 확인
dnf repolist
생성이 되었다면 콘솔 창에 저장소가 확인 된다.
gitlab_gitlab-ce gitlab_gitlab-ce-source
# 3. Gitlab CE 설치
Gitlab CE 설치
sudo dnf install gitlab-ce -y
*Gitlab EE 를 설치한다면
sudo dnf install gitlab-ee -y
설치가 완료됬을때의 이미지
# 4. Gitlab CE 구성을 환경에 맞게 수정
Gitlab 구성 파일은 해당 경로에 존재
/etc/gitlab/gitlab.rb
Url 정보 수정을 위해 편집
(* Vim 이용시 "?" 을 이용해서 원하는 변수명에 쉽게 접근할 수 있다. )
sudo vim /etc/gitlab/gitlab.rb
external_url 변수를 찾아 편집해야함
(*초기 세팅 - external_url 'http://gitlab.example.com' )
주석을 풀고 external_url 'http://gitlab.newDomain.com' # 도메인이 있다면 진행 external_url 'http://serverIP' # 도메인이 없을때 진행 external_url 'http://gitlab.newDomain.com:8443' # 도메인이 있고, 방화벽 포트 설정시 진행
도메인 정보 변경 뒤 Gitlab 재구성 진행
sudo gitlab-ctl reconfigure
Gitlab 실행 상태 확인
sudo gitlab-ctl status
run: alertmanager: (pid 35396) 72s; run: log: (pid 35072) 168s run: gitaly: (pid 35425) 67s; run: log: (pid 34222) 341s run: gitlab-exporter: (pid 35373) 74s; run: log: (pid 34861) 201s run: gitlab-kas: (pid 35350) 76s; run: log: (pid 34540) 308s run: gitlab-workhorse: (pid 35362) 75s; run: log: (pid 34711) 230s run: grafana: (pid 35408) 71s; run: log: (pid 35260) 105s run: logrotate: (pid 34114) 355s; run: log: (pid 34122) 354s run: nginx: (pid 34754) 226s; run: log: (pid 34764) 222s # nginx가 down되있으면 안됨 run: node-exporter: (pid 35369) 75s; run: log: (pid 34825) 212s run: postgres-exporter: (pid 35402) 71s; run: log: (pid 35120) 161s run: postgresql: (pid 34376) 321s; run: log: (pid 34397) 319s run: prometheus: (pid 35380) 74s; run: log: (pid 35019) 178s run: puma: (pid 34618) 249s; run: log: (pid 34626) 246s run: redis: (pid 34160) 349s; run: log: (pid 34169) 347s run: redis-exporter: (pid 35375) 74s; run: log: (pid 34890) 189s run: sidekiq: (pid 34646) 243s; run: log: (pid 34662) 240s
Gitlab 서비스 중지 / 시작 명령
sudo gitlab-ctl stop sudo gitlab-ctl start
# 5. 방화벽 설정
방화벽 설정을 위해 방화벽 서비스 시작
systemctl start firewalld
부팅시 방화벽 자동 실행 및 해제
systemctl enable firewalld # 자동 실행 systemctl disable firewalld # 자동 실행 해제
HTTP / HTTPS / SSH 서비스 허용
sudo firewall-cmd --permanent --add-service={ssh,http,https} --permanent sudo firewall-cmd --reload # 추가된 룰이 있을시 무조건 재시작
특정 포트로 허용
firewall-cmd --permanent --add-port=8443/tcp # 추가 firewall-cmd --permanent --remove-port=8443/tcp # 제거 sudo firewall-cmd --reload # 추가된 룰이 있을시 무조건 재시작
# 6. Gitlab 서버 접속
external_url 변수에 적용한 url로 접속할 수 있다.
초기 로그인 화면에서 root 계정으로 접근해야하는데,패스워드 정보는 특정 경로에서 확인할수 있다.
sudo cat /etc/gitlab/initial_root_password # WARNING: This value is valid only in the following conditions # 1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run). # 2. Password hasn't been changed manually, either via UI or via command line. # # If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password. Password: a827WNdgqHmv+ZNMdfeOcgzNAEXlh39bbl9dUzZnOQ= # NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.
root 계정으로 로그인에 성공하고 User 메뉴에서 Password 변경을 진행하면 된다.
Black 로 생성할 수 있고, 템플릿형태 및 프로젝트를 임포트하는 방식으로도 구성할 수 있다.
빈 프로젝트로 생성하는 경우
# 7. 프로젝트 생성시 원활한 pull과 push를 위해 SSH Key 발급
(* SSH 방식을 통한 git 제어 )
gitlab 서버 root 경로에서 ".ssh" 폴더로 이동, 폴더가 없다면 mkdir 으로 폴더 생성
.ssh 폴더로 이동 이후 RSA 키 생성
ssh-keygen -t rsa -C "gitlab Account Email" -b 4096
기본 경로로 /root/.ssh/id_rsa.pub 가 발급되는데, 생성시 원하는 경로와 파일명으로 제어할 수 있다.
키 발급 이후 .pub RSA키를 복사하고 프로젝트에 SSH 키를 입력한다
cd /root/.ssh cat id_rsa.pub
정상적으로 입력되었다면,
아이디, 패스워드 필요없이 SSH 방식을 통해 git 명령을 이용할 수 있다.
# 8. Gitlab-Runner 설치
gitlab > setting > CI/CD > Runners - expand 버튼 클릭 > new project runner 버튼 클릭
Platfrom: linux
Tags: hywms, Run untagged jobs 클릭
Create Runner 버튼 클릭
gitlab-runner register --url <gitlab URL 주소> --token <gitlab-runner token>gitlab 서버에서 gitlab-runner run 수행
* 참고한 문서
https://ko.linux-console.net/?p=22416#google_vignette
반응형'Git' 카테고리의 다른 글
댓글