Gitlab安裝部署

環(huán)境:

操作系統(tǒng): Centos7.6

IP地址: 192.168.31.60

內核版本:?3.10.0-957.el7.x86_64

第一種方式: 使用RPM方式安裝

源地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/

1)安裝部署

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.9.0-ce.0.el7.x86_64.rpm?

rpm -ivh gitlab-ce-12.9.0-ce.0.el7.x86_64.rpm?

vim /etc/gitlab.rb # 編輯站點地址?

external_url 'http://gitlab.ziioffice.com'

git_data_dirs({ "default" => { "path" => "/data/git-data" } })?

gitlab_rails['backup_path'] = "/data/git-data/backups"

#配置郵箱

?gitlab_rails['gitlab_email_enabled'] = true?
gitlab_rails['gitlab_email_from'] = 'xionghaihua@distrii.com' gitlab_rails['gitlab_email_display_name'] = 'xionghaihua' gitlab_rails['gitlab_email_reply_to'] = 'xhaihua@distrii.com'??
gitlab_rails['smtp_enable'] = true??
gitlab_rails['smtp_address'] = "smtp.distrii.com"
gitlab_rails['smtp_port'] = 465?
?gitlab_rails['smtp_user_name'] = "xionghaihua@distrii.com"?
gitlab_rails['smtp_password'] = "123456"?
gitlab_rails['smtp_domain'] = "smtp.distrii.com"??
gitlab_rails['smtp_authentication'] = "login"?
?gitlab_rails['smtp_enable_starttls_auto'] = true?
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
gitlab_rails['smtp_tls'] = true??

2)啟動gitlab

gitlab-ctl reconfigure??

gitlab-ctl start?

gitlab-ctl status? ? ?

gitlab-ctl stop

3)日志查看:

日志路徑: /var/log/gitlab
查看所有日志:gitlab-ctl tail
查看nginx日志:gitlab-ctl tail nginx/gitlab_access.log
查看指數據庫日志:gitlab-ctl tail postgresql


第二種方式: 使用Docker-compose方式安裝

1)安裝部署docker

yum -y install yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum -y install docker-ce
systemctl enable docker && systemctl start docker

mkdir -p /data/docker
cat >>/etc/docker/daemon.json <<-EOF
{ "registry-mirrors": ["https://wxezogdu.mirror.aliyuncs.com"],
"graph": "/data/docker"
}
EOF
systemctl restart docker
#安裝docker-compose
curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
#驗證
[root@openldap ~]# docker-compose -v
docker-compose version 1.24.0, build 0aa59064
[root@openldap ~]# docker -v
Docker version 19.03.8, build afacb8b

2)編寫docker-compose.yml文件

#拉取鏡像
? docker pull gitlab/gitlab-ce:12.9.0-ce.0

#創(chuàng)建目錄

mkdir -p /data/gitlab
mkdir /data/gitlab/{config,data,logs}

#編寫docker-compose.yml文件

cd /data/gitlab
cat >docker-compose.yml <<-EOF
version: "3"
services:
? ? gitlab:
? ? ? ?image:?gitlab/gitlab-ce:12.9.0-ce.0
? ? ? ?container_name: gitlab
? ? ? ?restart: always
? ? ? ?hostname: 'gitlab.ziioffice.com'
? ? ? ?environment:
? ? ? ? ? GITLAB_OMNIBUS_CONFIG: |
? ? ? ? ? ? ?external_url? "http://gitlab.ziioffice.com"
? ? ? ? ? ? ?gitlab_rails['gitlab_shell_ssh_port'] = 2222
? ? ? ? ? ? ?gitlab_rails['gitlab_email_enabled'] = true
? ? ? ? ? ? ?gitlab_rails['gitlab_email_from'] = 'xionghaihua@distrii.com'? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ?gitlab_rails['gitlab_email_display_name'] = 'xionghaihua'
? ? ? ? ? ? ?gitlab_rails['gitlab_email_reply_to'] = 'xionghaihua@distrii.com'
? ? ? ? ? ? ?gitlab_rails['smtp_enable'] = true
? ? ? ? ? ? ?gitlab_rails['smtp_address'] = "smtp.distrii.com"
? ? ? ? ? ? ?gitlab_rails['smtp_port'] = 465
? ? ? ? ? ? ?gitlab_rails['smtp_user_name'] = "xhaihua@distrii.com"
? ? ? ? ? ? ?gitlab_rails['smtp_password'] = "123456"
? ? ? ? ? ? ?gitlab_rails['smtp_domain'] = "smtp.distrii.com"
? ? ? ? ? ? ?gitlab_rails['smtp_authentication'] = "login"
? ? ? ? ? ? ?gitlab_rails['smtp_enable_starttls_auto'] = true
? ? ? ? ? ? ?gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
? ? ? ? ? ? ?gitlab_rails['smtp_tls'] = true
? ? ? ports:
? ? ? ? ? -? '443:443'
? ? ? ? ? -? '2222:22'
? ? ? ? ? -? "80:80"
? ? ? volumes:
? ? ? ? ? -? '/data/gitlab/config:/etc/gitlab'
? ? ? ? ? -? '/data/gitlab/logs:/var/log/gitlab'
? ? ? ? ? -? '/data/gitlab/data:/var/opt/gitlab'
? ? ? logging:
? ? ? ? ?driver:? "json-file"
? ? ? ? ?options:
? ? ? ? ? ? ?max-size: "20m"
? ? ? ? ? ? ?max-file: "10"EOF
?#執(zhí)行啟動
[root@gitlab gitlab]# docker-compose up -d
Creating network "gitlab_default" with the default driver
Creating gitlab ... done
?[root@gitlab gitlab]# docker-compose ps
?Name Command State Ports -----------------------------------------------------------------------------------------------------------------
gitlab /assets/wrapper Up (health: starting) 0.0.0.0:2222->22/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp

#gitlab訪問

http://gitlab.ziioffice.com



第三種方式: kubernetes部署gitlab

https://gitee.com/xhaihua/devops/blob/master/gitlab/deploy-gitlab.yaml

---

kind: Deployment

apiVersion: apps/v1

metadata:

? labels:

? ? k8s-app: gitlab

? name: gitlab

? namespace: devops

spec:

? replicas: 1

? revisionHistoryLimit: 10

? selector:

? ? matchLabels:

? ? ? k8s-app: gitlab

? template:

? ? metadata:

? ? ? labels:

? ? ? ? k8s-app: gitlab

? ? ? namespace: devops

? ? ? name: gitlab

? ? spec:

? ? ? containers:

? ? ? ? - name: gitlab

? ? ? ? ? image: gitlab/gitlab-ce:12.9.0-ce.0

? ? ? ? ? imagePullPolicy: IfNotPresent

? ? ? ? ? ports:

? ? ? ? ? ? - containerPort: 30088

? ? ? ? ? ? ? name: web

? ? ? ? ? ? ? protocol: TCP

? ? ? ? ? ? - containerPort: 22

? ? ? ? ? ? ? name: agent

? ? ? ? ? ? ? protocol: TCP

? ? ? ? ? resources:

? ? ? ? ? ? limits:

? ? ? ? ? ? ? cpu: 2000m

? ? ? ? ? ? ? memory: 8Gi

? ? ? ? ? ? requests:

? ? ? ? ? ? ? cpu: 500m

? ? ? ? ? ? ? memory: 512Mi

? ? ? ? ? livenessProbe:

? ? ? ? ? ? httpGet:

? ? ? ? ? ? ? path: /users/sign_in

? ? ? ? ? ? ? port: 30088

? ? ? ? ? ? initialDelaySeconds: 60

? ? ? ? ? ? timeoutSeconds: 5

? ? ? ? ? ? failureThreshold: 12

? ? ? ? ? readinessProbe:

? ? ? ? ? ? httpGet:

? ? ? ? ? ? ? path: /users/sign_in

? ? ? ? ? ? ? port: 30088

? ? ? ? ? ? initialDelaySeconds: 60

? ? ? ? ? ? timeoutSeconds: 5

? ? ? ? ? ? failureThreshold: 12

? ? ? ? ? volumeMounts:

? ? ? ? ? ? - name: gitlab-conf

? ? ? ? ? ? ? mountPath: /etc/gitlab

? ? ? ? ? ? - name: gitlab-log

? ? ? ? ? ? ? mountPath: /var/log/gitlab

? ? ? ? ? ? - name: gitlab-data

? ? ? ? ? ? ? mountPath: /var/opt/gitlab

? ? ? ? ? env:

? ? ? ? ? ? - name: gitlab_HOME

? ? ? ? ? ? ? value: /var/lib/gitlab

? ? ? volumes:

? ? ? ? - name: gitlab-conf

? ? ? ? ? hostPath:

? ? ? ? ? ? path: /data/devops/gitlab/config

? ? ? ? ? ? type: Directory

? ? ? ? - name: gitlab-log

? ? ? ? ? hostPath:

? ? ? ? ? ? path: /data/devops/gitlab/logs

? ? ? ? ? ? type: Directory

? ? ? ? - name: gitlab-data

? ? ? ? ? hostPath:

? ? ? ? ? ? path: /data/devops/gitlab/data

? ? ? ? ? ? type: Directory

? ? ? serviceAccountName: gitlab

---

apiVersion: v1

kind: ServiceAccount

metadata:

? labels:

? ? k8s-app: gitlab

? name: gitlab

? namespace: devops

---

kind: Service

apiVersion: v1

metadata:

? labels:

? ? k8s-app: gitlab

? name: gitlab

? namespace: devops

spec:

? type: NodePort

? ports:

? ? - name: web

? ? ? port: 30088

? ? ? targetPort: 30088

? ? ? nodePort: 30088

? ? - name: slave

? ? ? port: 22

? ? ? targetPort: 22

? ? ? nodePort: 30022

? selector:

? ? k8s-app: gitlab

---

kind: Role

apiVersion: rbac.authorization.k8s.io/v1beta1

metadata:

name: gitlab

namespace: devops

rules:

- apiGroups: [""]

? resources: ["pods"]

? verbs: ["create","delete","get","list","patch","update","watch"]

- apiGroups: [""]

? resources: ["pods/exec"]

? verbs: ["create","delete","get","list","patch","update","watch"]

- apiGroups: [""]

? resources: ["pods/log"]

? verbs: ["get","list","watch"]

- apiGroups: [""]

? resources: ["secrets"]

? verbs: ["get"]

---

apiVersion: rbac.authorization.k8s.io/v1beta1

kind: RoleBinding

metadata:

name: gitlab

namespace: devops

roleRef:

apiGroup: rbac.authorization.k8s.io

kind: Role

name: gitlab

subjects:

- kind: ServiceAccount

? name: gitlab

? namespace: devops

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末桌硫,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子训枢,更是在濱河造成了極大的恐慌托修,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恒界,死亡現場離奇詭異睦刃,居然都是意外死亡,警方通過查閱死者的電腦和手機十酣,發(fā)現死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進店門涩拙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人耸采,你說我怎么就攤上這事兴泥。” “怎么了虾宇?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵搓彻,是天一觀的道長。 經常有香客問我嘱朽,道長旭贬,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任搪泳,我火速辦了婚禮稀轨,結果婚禮上,老公的妹妹穿的比我還像新娘岸军。我一直安慰自己奋刽,他們只是感情好,可當我...
    茶點故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布凛膏。 她就那樣靜靜地躺著杨名,像睡著了一般。 火紅的嫁衣襯著肌膚如雪猖毫。 梳的紋絲不亂的頭發(fā)上台谍,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天,我揣著相機與錄音,去河邊找鬼趁蕊。 笑死坞生,一個胖子當著我的面吹牛,可吹牛的內容都是我干的掷伙。 我是一名探鬼主播是己,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼任柜!你這毒婦竟也來了卒废?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤宙地,失蹤者是張志新(化名)和其女友劉穎摔认,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體宅粥,經...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡参袱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了秽梅。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抹蚀。...
    茶點故事閱讀 40,427評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖企垦,靈堂內的尸體忽然破棺而出环壤,到底是詐尸還是另有隱情,我是刑警寧澤钞诡,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布镐捧,位于F島的核電站,受9級特大地震影響臭增,放射性物質發(fā)生泄漏懂酱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一誊抛、第九天 我趴在偏房一處隱蔽的房頂上張望列牺。 院中可真熱鬧,春花似錦拗窃、人聲如沸瞎领。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽九默。三九已至,卻和暖如春宾毒,著一層夾襖步出監(jiān)牢的瞬間驼修,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留乙各,地道東北人墨礁。 一個月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像耳峦,于是被迫代替她去往敵國和親恩静。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,440評論 2 359