Gitlab安装部署

环境:

操作系统: 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

#创建目录

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
 #执行启动
[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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,980评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,178评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,868评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,498评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,492评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,521评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,910评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,569评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,793评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,559评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,639评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,342评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,931评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,904评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,144评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,833评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,350评论 2 342