GitLab安裝配置全過程

一、準備一臺Linux主機

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比昌邑網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式昌邑網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋昌邑地區(qū)。費用合理售后完善,十余年實體公司更值得信賴。

我用了一臺VMware虛擬機,配置如下:

IP:192.168.1.159

1、開SSH

systemctl enable sshd

2、關閉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用二進制的方式上傳,-e是--escape強制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 ? ?#使配置文件生效 但是會初始化除了gitlab.rb之外的所有文件

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

gitlab-ctl stop ? ? ? ? ?#停服務

gitlab-ctl start ? ? ? ? #起服務

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

相關目錄信息

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

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

/var/opt/gitlab/git-data/repositories/root ? ?#庫默認存儲目錄

/opt/gitlab ? ? ? ? ? ? ? ? ? ? ? ? ? ? #是gitlab的應用代碼和相應的依賴程序

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

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

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

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

相關文件

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

/etc/gitlab/gitlab.rb ? ? ? ? ? ? ? ? ? ? ?#設置相關選項進行配置(gitlab地址就在這)

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

4、運行服務(此步可不做)

gitlab-ctl start

5、登錄測試

首次登錄需要修改root密碼

GitLab安裝配置全過程

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

賬號:root

GitLab安裝配置全過程

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

GitLab安裝配置全過程

二、漢化GitLab

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

安裝版本檢查

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

GitLab安裝配置全過程

漢化包檢查

https://gitlab.com/xhang/gitlab

GitLab安裝配置全過程

2、漢化過程

如果具有相同版本的漢化標簽

(1)克隆漢化版本庫

yum install -y git

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

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

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

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

cat gitlab/VERSION

GitLab安裝配置全過程

(2)比較漢化標簽和原標簽,導出 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目錄下所有文件)會導致打補丁時出錯,所以先拷貝這些文件到官方目錄

cd /home/gitlab/app

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

將11.1.4-zh.diff作為補丁更新到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

強行拷貝過去后git apply可能會出錯

GitLab安裝配置全過程

用patch打補丁

GitLab安裝配置全過程

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

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

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

啟動和檢查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

五、修改時區(qū)

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

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

?

六、設置密碼輸錯鎖定

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個月(即90天,這里是7776000秒)

2、修改完,重新配置

gitlab-ctl reconfigure

查看日志

gitlab-ctl tail

3、手動備份一次

gitlab-rake gitlab:backup:create

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

GitLab安裝配置全過程

4、添加每日備份的計劃任務

編輯crontab

vi /etc/crontab

添加下邊一行

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

GitLab安裝配置全過程

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

重啟crond服務

systemctl restart crond

重啟系統(tǒng)

shutdown –r now

?

七、恢復測試

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

1、克隆一份正式環(huán)境的GitLab,改服務器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、隨便刪除一個項目

GitLab安裝配置全過程

4、開始恢復操作

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

cd /var/opt/gitlab/backups

chmod 777 1550089292_2019_02_14_11.1.4_gitlab_backup.tar

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

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

gitlab-ctl status

GitLab安裝配置全過程

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

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

gitlab-rake gitlab:backup:restore BACKUP=備份文件編號

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

GitLab安裝配置全過程

輸入yes

?

輸入yes

GitLab安裝配置全過程

恢復完成

(4)最后再次啟動Gitlab

gitlab-ctl start

gitlab-ctl status

GitLab安裝配置全過程

5、檢查恢復情況

(1)check命令

gitlab-rake gitlab:check SANITIZE=true

GitLab安裝配置全過程

GitLab安裝配置全過程

全部ok

(2)web頁面

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

當前標題:GitLab安裝配置全過程
文章鏈接:http://www.muchs.cn/article2/ishioc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設計、Google虛擬主機、小程序開發(fā)網(wǎng)站營銷、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設