溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

GitLab安裝配置全過程

發(fā)布時(shí)間:2020-07-06 08:32:04 來源:網(wǎng)絡(luò) 閱讀:2881 作者:lzlutao 欄目:軟件技術(shù)

一、準(zhǔn)備一臺(tái)Linux主機(jī)

我用了一臺(tái)VMware虛擬機(jī),配置如下:

IP:192.168.1.159

1、開SSH

systemctl enable sshd

2、關(guān)閉SELINUX

vi /etc/sysconfig/selinux

修改下邊紅字部分

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# ? ? enforcing - SELinux security policy is enforced.

# ? ? permissive - SELinux prints warnings instead of enforcing.

# ? ? disabled - No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of three two values:

# ? ? targeted - Targeted processes are protected,

# ? ? minimum - Modification of targeted policy. Only selected processes are protected.

# ? ? mls - Multi Level Security protection.

SELINUXTYPE=targeted

3、安裝rz

yum -y install lrzsz

之后上傳文件一定要用-be參數(shù)(其中-b是--binary用二進(jìn)制的方式上傳,-e是--escape強(qiáng)制escape所有控制字符),否則上傳的文件不完整

rz –be

4、安裝wget

yum -y install wget

5、更換yum源,用于提速yum

(1)備份yum源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

(2)下載新的CentOS-Base.repo 到/etc/yum.repos.d/

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo ?

清理緩存

yum clean all

重新生成緩存

yum makecache

?

一、安裝GitLab

1、安裝必須的組件

yum install -y curl policycoreutils-python openssh-server

2、安裝GitLab社區(qū)版包庫

cd /home

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash

3、安裝GitLab社區(qū)版

EXTERNAL_URL是訪問的URL

EXTERNAL_URL="http://192.168.1.159" yum install -y gitlab-ce ?

GitLab安裝配置全過程

安裝完成后:

gitlab-ctl reconfigure ? ?#使配置文件生效 但是會(huì)初始化除了gitlab.rb之外的所有文件

gitlab-ctl status ? ? ? ?#查看狀態(tài)

gitlab-ctl stop ? ? ? ? ?#停服務(wù)

gitlab-ctl start ? ? ? ? #起服務(wù)

gitlab-ctl tail ? ? ? ? ?#查看日志的命令(Gitlab 默認(rèn)的日志文件存放在/var/log/gitlab 目錄下)

相關(guān)目錄信息

.git/config ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#版本庫特定的配置設(shè)置,可用--file修改

~/.gitconfig ? ? ? ? ? ? ? ? ? ? ? ? ? ? #用戶特定的配置設(shè)置,可用--global修改

/var/opt/gitlab/git-data/repositories/root ? ?#庫默認(rèn)存儲(chǔ)目錄

/opt/gitlab ? ? ? ? ? ? ? ? ? ? ? ? ? ? #是gitlab的應(yīng)用代碼和相應(yīng)的依賴程序

/var/opt/gitlab ? ? ? #此目錄下是運(yùn)行g(shù)itlab-ctl reconfigure命令編譯后的應(yīng)用數(shù)據(jù)和配置文件,不需要人為修改配置

/etc/gitlab #此目錄下存放了以omnibus-gitlab包安裝方式時(shí)的配置文件,這里的配置文件才需要管理員手動(dòng)編譯配置

/var/log/gitlab ? ? ? ? ? ? ? ? ? ? ? ? ?#此目錄下存放了gitlab各個(gè)組件產(chǎn)生的日志

/var/opt/gitlab/backups/ ? ? ? ? ? ? ? ? ?#備份文件生成的目錄

相關(guān)文件

/opt/gitlab/embedded/service/gitlab-rails/config ?#配置文件(修改clone的ip地址)

/etc/gitlab/gitlab.rb ? ? ? ? ? ? ? ? ? ? ?#設(shè)置相關(guān)選項(xiàng)進(jìn)行配置(gitlab地址就在這)

/var/opt/gitlab/git-data ? ? ? ? ? ? ? ? ? #Git存儲(chǔ)庫數(shù)據(jù)(默認(rèn)

4、運(yùn)行服務(wù)(此步可不做)

gitlab-ctl start

5、登錄測(cè)試

首次登錄需要修改root密碼

GitLab安裝配置全過程

密碼改成:********

賬號(hào):root

GitLab安裝配置全過程

登錄后的頁面(這是IE瀏覽器,顯示有問題,需換非IE瀏覽器訪問)

GitLab安裝配置全過程

二、漢化GitLab

1、檢查安裝版本和漢化包版本

安裝版本檢查

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

GitLab安裝配置全過程

漢化包檢查

https://gitlab.com/xhang/gitlab

GitLab安裝配置全過程

2、漢化過程

如果具有相同版本的漢化標(biāo)簽

(1)克隆漢化版本庫

yum install -y git

git clone https://gitlab.com/xhang/gitlab.git

(可以指定版本號(hào)git clone https://gitlab.com/xhang/gitlab.git -b v10.0.2-zh)

如果已經(jīng)克隆過,則進(jìn)行更新git fetch

(2)查看該漢化補(bǔ)丁的版本

cat gitlab/VERSION

GitLab安裝配置全過程

(2)比較漢化標(biāo)簽和原標(biāo)簽,導(dǎo)出 patch 用的 diff 文件。

gitlab-ctl stop

cd /home/gitlab

git diff v11.1.4 v11.1.4-zh > ../11.1.4-zh.diff

GitLab安裝配置全過程

生成11.1.4-zh.diff文件

由于官方版本比漢化包少一些文件(assets目錄下所有文件)會(huì)導(dǎo)致打補(bǔ)丁時(shí)出錯(cuò),所以先拷貝這些文件到官方目錄

cd /home/gitlab/app

cp -r assets /opt/gitlab/embedded/service/gitlab-rails/app/

將11.1.4-zh.diff作為補(bǔ)丁更新到gitlab中

yum install patch -y

patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 11.1.4-zh.diff

cd /opt/gitlab/embedded/service/gitlab-rails

git apply /home/11.1.4-zh.diff

強(qiáng)行拷貝過去后git apply可能會(huì)出錯(cuò)

GitLab安裝配置全過程

用patch打補(bǔ)丁

GitLab安裝配置全過程

出現(xiàn)詢問時(shí)都輸入y,注意上圖有個(gè)失誤,導(dǎo)致多了一個(gè)rej文件,這個(gè)文件一定要重命名掉

cd gitlab-rails/app/assets/javascripts/boards/components/

mv board_delete.js.rej board_delete.js.rej.bak

啟動(dòng)和檢查GitLab配置

gitlab-ctl start

gitlab-ctl reconfigure

重新登錄192.168.1.159

GitLab安裝配置全過程

三、用LDAP接入AD

四、增加郵件功能

1、修改配置文件gitlab.rb

vi /etc/gitlab/gitlab.rb

在gitlab.rb文件中添加下面配置:

gitlab_rails['smtp_enable'] = true

gitlab_rails['smtp_address'] = "smtp.********"

gitlab_rails['smtp_port'] = 25

gitlab_rails['smtp_user_name'] = "gitlab"

gitlab_rails['smtp_password'] = "**********"

gitlab_rails['smtp_domain'] = "**********"

gitlab_rails['smtp_authentication'] = "login"

gitlab_rails['smtp_enable_starttls_auto'] = true

?

gitlab_rails['gitlab_email_from'] = 'gitlab@**********'

user['git_user_email'] = "gitlab@**********"

2、修改完,重新配置

gitlab-ctl reconfigure

查看日志

gitlab-ctl tail

五、修改時(shí)區(qū)

如果不修改默認(rèn)時(shí)間會(huì)造成下圖的現(xiàn)象,可能會(huì)差幾個(gè)小時(shí)

GitLab安裝配置全過程

1、修改配置文件gitlab.rb

vi /etc/gitlab/gitlab.rb

在gitlab.rb文件中

GitLab安裝配置全過程

添加下面配置:

gitlab_rails['time_zone'] = 'Asia/Shanghai'

2、修改完,重新配置

gitlab-ctl reconfigure

查看日志

gitlab-ctl tail

?

六、設(shè)置密碼輸錯(cuò)鎖定

1、修改配置文件gitlab.rb

vi /etc/gitlab/gitlab.rb

在gitlab.rb文件中修改下面配置:

gitlab_rails['rack_attack_git_basic_auth'] = {

? 'enabled' => true,

? 'ip_whitelist' => ["127.0.0.1"],

? 'maxretry' => 300,

? 'findtime' => 60,

? 'bantime' => 60

}

解釋:

# Rack Attack IP banning enabled

'enabled' => true

# Whitelist requests from 127.0.0.1 for web proxies (NGINX/Apache) with incorrect headers

'ip_whitelist' => ["127.0.0.1"]

# Limit the number of Git HTTP authentication attempts per IP

'maxretry' => 300

# Reset the auth attempt counter per IP after 60 seconds

'findtime' => 60

# Ban an IP for one hour (60s) after too many auth attempts

'bantime' => 60

2、修改完,重新配置

gitlab-ctl reconfigure

查看日志

gitlab-ctl tail

?

?

七、備份

1、修改配置文件gitlab.rb

vi /etc/gitlab/gitlab.rb

在gitlab.rb文件中

GitLab安裝配置全過程

修改為下面配置:

gitlab_rails['manage_backup_path'] = true

gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" ? ?//gitlab備份目錄

gitlab_rails['backup_archive_permissions'] = 0644 ? ? ? //生成的備份文件權(quán)限

gitlab_rails['backup_keep_time'] = 7776000 ? ? ? ? ? ? ?//備份保留天數(shù)為3個(gè)月(即90天,這里是7776000秒)

2、修改完,重新配置

gitlab-ctl reconfigure

查看日志

gitlab-ctl tail

3、手動(dòng)備份一次

gitlab-rake gitlab:backup:create


cd /var/opt/gitlab/backups目錄,查看已有備份文件

GitLab安裝配置全過程

4、添加每日備份的計(jì)劃任務(wù)

編輯crontab

vi /etc/crontab

添加下邊一行

0 4 * * * root /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1

GitLab安裝配置全過程

注意:環(huán)境變量CRON=1的作用是如果沒有任何錯(cuò)誤發(fā)生時(shí), 抑制備份腳本的所有進(jìn)度輸出

重啟crond服務(wù)

systemctl restart crond

重啟系統(tǒng)

shutdown –r now

?

七、恢復(fù)測(cè)試

GItLab只能還原到與備份文件相同的gitlab版本。

1、克隆一份正式環(huán)境的GitLab,改服務(wù)器IP為192.168.1.211

2、修改GitLab的訪問IP地址

vi /etc/gitlab/gitlab.rb

在gitlab.rb文件中

GitLab安裝配置全過程

修改為下面配置:

external_url 'http://192.168.1.221'

修改完,重新配置

gitlab-ctl reconfigure

3、隨便刪除一個(gè)項(xiàng)目

GitLab安裝配置全過程

4、開始恢復(fù)操作

(1)將備份文件權(quán)限修改為777,不然可能恢復(fù)的時(shí)候會(huì)出現(xiàn)權(quán)限不夠,不能解壓的問題

cd /var/opt/gitlab/backups

chmod 777 1550089292_2019_02_14_11.1.4_gitlab_backup.tar

(2)執(zhí)行命令停止相關(guān)數(shù)據(jù)連接服務(wù)

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

gitlab-ctl status

GitLab安裝配置全過程

(3)執(zhí)行命令從備份文件中恢復(fù)Gitlab

Gitlab的恢復(fù)操作會(huì)先將當(dāng)前所有的數(shù)據(jù)清空,然后再根據(jù)備份數(shù)據(jù)進(jìn)行恢復(fù)

gitlab-rake gitlab:backup:restore BACKUP=備份文件編號(hào)

gitlab-rake gitlab:backup:restore BACKUP=1550089292_2019_02_14_11.1.4

GitLab安裝配置全過程

輸入yes

?

輸入yes

GitLab安裝配置全過程

恢復(fù)完成

(4)最后再次啟動(dòng)Gitlab

gitlab-ctl start

gitlab-ctl status

GitLab安裝配置全過程

5、檢查恢復(fù)情況

(1)check命令

gitlab-rake gitlab:check SANITIZE=true

GitLab安裝配置全過程

GitLab安裝配置全過程

全部ok

(2)web頁面

之前刪除的項(xiàng)目已經(jīng)恢復(fù)了。20GB的數(shù)據(jù),200個(gè)項(xiàng)目共計(jì)恢復(fù)用時(shí)1小時(shí)

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI