환경 요구 사항: 최소 4G의 메모리, GitLab은 많은 메모리를 소비합니다.
1 필요한 종속성을 설치하고 구성합니다.
CentOS 시스템에서 다음 명령을 사용하면 시스템이 열립니다. 방화벽 HTTP 및 SSH 액세스.
$ sudo yum install -y curl policycoreutils-python openssh-server $ sudo systemctl enable sshd $ sudo systemctl start sshd $ sudo firewall-cmd --permanent --add-service=http $ sudo systemctl reload firewalld
이메일을 보내려면 Postfix를 설치하세요. Postfix 설치 중 '인터넷 사이트'를 선택하세요.
$ sudo yum install postfix $ sudo systemctl enable postfix $ sudo systemctl start postfix
맞춤 SMTP 서버를 구성할 수도 있습니다.
2. GitLab 미러 저장소 추가 및 설치
gitlab-ce는 커뮤니티 버전, 무료
gitlab-ee는 기업 버전, 유료
2.1 설치는 공식 미러를 사용하세요
$ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash $ sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce # 安装 GitLab
2.2 국내 미러 사용 설치(권장)
연결 시간이 초과되었다는 메시지가 표시되면 Tsinghua University Open Source Software Mirror Station: https://mirror.tuna.tsinghua…을 사용할 수 있습니다.
웹사이트에 들어가면 자세한 설치 단계가 있으니 따라가기만 하면 됩니다.
다음은 CentOS에서 Tsinghua University 오픈 소스 소프트웨어 미러 스테이션 설치 사용에 대한 소개입니다.
먼저 yum 소스를 복원하고 gitlab-ce 소스를 삭제합니다.
$ ls -l /etc/yum.repos.d/ # 查看源配置项 $ mv /etc/yum.repos.d/gitlab_gitlab-ce.repo /etc/yum.repos.d/gitlab_gitlab-ce.repo.bak # 备份源配置项(也可以直接删除 rm)
새 /etc/yum.repos.d/gitlab 만들기 -ce.repo , 내용은
[gitlab-ce] name=Gitlab CE Repository baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck=0 enabled=1
Execute
$ sudo yum makecache $ sudo yum install gitlab-ce
설치 후 /opt/gitlab/ 디렉터리 구조
/opt/gitlab/ ├── backups ├── git-data │ └── repositories │ └── root ├── gitlab-ci │ └── builds ├── gitlab-rails │ ├── etc │ ├── shared │ │ ├── artifacts │ │ ├── lfs-objects │ │ └── pages │ ├── sockets │ ├── tmp │ ├── upgrade-status │ ├── uploads │ └── working ├── gitlab-shell ├── gitlab-workhorse ├── logrotate │ └── logrotate.d ├── nginx │ ├── client_body_temp │ ├── conf │ ├── fastcgi_temp │ ├── logs -> /var/log/gitlab/nginx │ ├── proxy_cache │ ├── proxy_temp │ ├── scgi_temp │ └── uwsgi_temp ├── postgresql │ └── data │ ├── base │ │ ├── 1 │ │ ├── 12918 │ │ ├── 12923 │ │ └── 16385 │ ├── global │ ├── pg_clog │ ├── pg_multixact │ │ ├── members │ │ └── offsets │ ├── pg_notify │ ├── pg_serial │ ├── pg_snapshots │ ├── pg_stat_tmp │ ├── pg_subtrans │ ├── pg_tblspc │ ├── pg_twophase │ └── pg_xlog │ └── archive_status └── redis
3. GitLab 구성 및 시작
start 명령
$ sudo gitlab-ctl reconfigure # 首次启动也要用此命令。重新加载配置并启动 $ sudo gitlab-ctl start # 启动 $ sudo gitlab-ctl stop # 停止
/etc/gitlab/ 디렉터리 구조:
/etc/gitlab/ ├── gitlab.rb ├── gitlab-secrets.json └── ssl └── trusted-certs
gitLab 기본 구성은 /etc/gitlab/gitlab.rb 파일에 집중되어 있습니다. 각 매개변수의 기능과 구성은 공식 웹사이트의 구성 지침을 참조하세요.
구성 매개변수:
### Advanced settings # unicorn['listen'] = 'localhost' # unicorn['port'] = 8090 #默认是8080端口 nginx['listen_port'] = 8081 # gitlab nginx 端口。默认端口为:80 external_url 'http://192.168.137.129' # clone时显示的地址,gitlab 的域名
구성:
$ sudo gitlab-ctl stop # 先停止 GitLab 服务 $ vim /etc/gitlab/gitlab.rb # 修改配置文件
변경한 후 명령줄에 저장하고 종료합니다. 다음 명령을 하나씩 입력하여 구성을 적용합니다. 그렇지 않으면 재구성에서 오류가 보고됩니다.
5. 포트 충돌 문제
설치 후에는 문제가 발생합니다. gitlab은 실제로는 nginx와 함께 제공됩니다. 그러면 apache 또는 nginx도 설치됩니다. ;
gitlab과 함께 제공되는 nginx의 기본 포트를 변경하세요
6. GitLab 제거
$ sudo gitlab-ctl restart postgresql $ sudo gitlab-ctl reconfigure $ sudo gitlab-ctl start