gitlab安装
文章目录
1、docker安装gitlab
1.1 docker & docker-compose
2、 yum安装gitlab
2.1 SSH安装
在系统防火墙中打开HTTP和SSH访问(如果已经安装可以跳过,不过运行以下命令并不影响)
hostnamectl set-hostname demon-harbor
#本地yum
mount /dev/sr0 /mnt/
cd /etc/yum.repos.d
mkdir ./bak
mv ./*.repo ./bak/
vim yum.repo
[centos7]
name=centos7
baseurl=file:///mnt
enable=1
gpgcheck=0
yum clean all
yum makecache
#安装ssh
yum install -y curl policycoreutils-python openssh-server
#设为开机启动
systemctl enable sshd && systemctl start sshd
#打开HTTP
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-service=ssh
#重启,使防火墙修改生效
systemctl reload firewalld
2.2 添加GitLab包存储库
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
安装gitlab
EXTERNAL_URL="https://gitlab.digitalchina.com" yum install -y gitlab-ce
===========================================================================================
#如果下载慢,改用国内源在 /etc/yum.repos.d 目录下新建 gitlab-ce.repo 文件并保存。内容如下:
vim /etc/yum.repos.d/gitlab-ce.repo
[gitlab-ce]
name=Gitlab CE Repositor
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
#修改完 yum 源,因此先重新生成缓存:(此步骤执行时间较长,一般需要 3~5 分钟左右,请耐心等待)
yum clean all
yum makecache
2.3 安装 GitLab
#此步骤执行时间较长,一般需要 3~5 分钟左右,请耐心等待
EXTERNAL_URL="https://gitlab.digitalchina.com" yum install -y gitlab-ce
configuration in /etc/gitlab/gitlab.rb file
2.4 gitlab修改密码
gitlab-rails console -e production
[root@localhost ~]# gitlab-rails console -e production
--------------------------------------------------------------------------------
GitLab: 12.4.2 (393a5bdafa2)
GitLab Shell: 10.2.0
PostgreSQL: 10.9
--------------------------------------------------------------------------------
user = User.where(id: 1).first
Loading production environment (Rails 5.2.3)
irb(main):001:0> user = User.where(id: 1).first
=> #<User id:1 @root>
irb(main):002:0> user.password='12345678'
=> "12345678"
irb(main):003:0> user.password_confirmation='12345678'
=> "12345678"
irb(main):004:0> user.save!
Enqueued ActionMailer::DeliveryJob (Job ID: b4e0a054-5fea-487d-9b84-cef6c02d9f8f) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", #<GlobalID:0x00007f6ec7477a60 @uri=#<URI::GID gid://gitlab/User/1>>
=> true
irb(main):005:0>
irb(main):005:0> exit
[root@localhost ~]#
2.5 gitlab常用命令
sudo gitlab-ctl start # 启动所有 gitlab 组件;
sudo gitlab-ctl stop # 停止所有 gitlab 组件;
sudo gitlab-ctl restart # 重启所有 gitlab 组件;
sudo gitlab-ctl status # 查看服务状态;
sudo gitlab-ctl reconfigure # 启动服务;
sudo vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab;
sudo gitlab-ctl tail # 查看日志;
2.6 gitlab集成ldap
添加LDAP 信息(/etc/gitlab/gitlab.rb)
gitlab_rails['ldap_enabled'] = true
# gitlab_rails['prevent_ldap_sign_in'] = false
###! **remember to close this block with 'EOS' below**
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
main: # 'main' is the GitLab 'provider ID' of this LDAP server
label: 'LDAP'
host: '10.11.99.21'
port: 389
uid: 'cn'
bind_dn: 'cn=ebg,dc=digitalchina,dc=com'
password: 'Password'
encryption: 'plain' # "start_tls" or "simple_tls" or "plain"
# verify_certificates: true
# smartcard_auth: false
active_directory: true
allow_username_or_email_login: true
# lowercase_usernames: false
block_auto_created_users: false
base: 'dc=digitalchina,dc=com'
user_filter: ''
attributes:
username: ['uid']
email: ['mail']
name: 'description'
first_name: 'givenName'
last_name: 'sn'
EOS
生效配置文件
gitlab-ctl reconfigure
gitlab-ctl restart
2.7 gitlab域名修改
gitlab-ctl reconfigure
vim /etc/gitlab/gitlab.rb
32 external_url 'https://gitlabtest.digitalchina.com'
gitlab-ctl reconfigure
gitlab-ctl restart
2.8 gitlab自签https证书
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/gitlab/ssl/server.key -out /etc/gitlab/ssl/server.crt
vim /etc/gitlab/gitlab.rb
1339 nginx['enable'] = true
1340 nginx['redirect_http_to_https'] = true
1341 nginx['ssl_certificate'] = "/etc/gitlab/ssl/server.crt"
1342 nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/server.key"
#重新加载 配置
gitlab-ctl reconfigure
#重启gitlab
gitlab-ctl restart
2.8 gilab访问
访问gitlab:https://gitlab.digitalchina.com/users/sign_in