安装gitlab

安装docker

yum install iptables vim -y

cat <<EOF >  /etc/sysctl.d/docker.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward=1
EOF

modprobe br_netfilter

sysctl -p /etc/sysctl.d/docker.conf

wget https://mirrors.tencent.com/docker-ce/linux/static/stable/x86_64/docker-26.1.0.tgz

tar -zxf docker-26.1.0.tgz

cp docker/* /usr/local/bin/

mkdir /etc/docker

cat <<EOF > /etc/docker/daemon.json
{
  "registry-mirrors" : [
    "https://nao1uw63.mirror.aliyuncs.com"
  ]
}
EOF

cat <<EOF > /etc/systemd/system/docker.service
[Unit] 
Description=Docker Application Container Engine 
Documentation=https://docs.docker.com 
After=network-online.target firewalld.service 
Wants=network-online.target 
[Service] 
Type=notify 
ExecStart=/usr/local/bin/dockerd --selinux-enabled=false --insecure-registry=127.0.0.1 
ExecReload=/bin/kill -s HUP $MAINPID 
LimitNOFILE=infinity 
LimitNPROC=infinity 
LimitCORE=infinity 
TimeoutStartSec=0 
Delegate=yes 
KillMode=process 
Restart=on-failure 
StartLimitBurst=3 
StartLimitInterval=60s 
[Install] 
WantedBy=multi-user.target
EOF

chmod +x /etc/systemd/system/docker.service

systemctl daemon-reload
systemctl enable docker --now

systemctl status docker

准备docker-compose.yaml

cat <<EOF >  docker-compose.yaml
version: "3.5"

services:
  web:
    image: 'gitlab/gitlab-ce:latest'
    container_name: gitlab
    restart: always
    hostname: 'gitlab.dev.ia'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://host001.dev.ia:18181'
        # Add any other gitlab.rb configuration here, each on its own line
    ports:
      - '18181:18181'
      - '2222:22'
      - '5050:5050'
    volumes:
      - '/data0/Server/Settings/gitlab:/etc/gitlab'
      - '/data0/Server/Logs/gitlab:/var/log/gitlab'
      - '/data0/Server/Db/gitlab:/var/opt/gitlab'
      - '/opt/ssh/sshd_config:/etc/ssh/sshd_config'
    shm_size: '256m'
EOF
docker-compose up -d

设置gitlab的页面登陆密码

[root@32-op2203sp3 ~]# docker ps
CONTAINER ID   IMAGE                     COMMAND             CREATED          STATUS                             PORTS                                                                                                                                              NAMES
815ac016698e   gitlab/gitlab-ce:latest   "/assets/wrapper"   33 seconds ago   Up 32 seconds (health: starting)   80/tcp, 0.0.0.0:5050->5050/tcp, :::5050->5050/tcp, 443/tcp, 0.0.0.0:18181->18181/tcp, :::18181->18181/tcp, 0.0.0.0:2222->22/tcp, :::2222->22/tcp   gitlab

[root@32-op2203sp3 ~]# docker exec -ti 815ac016698e /bin/bash

root@gitlab:/etc/ssh# gitlab-rails console -e production
--------------------------------------------------------------------------------
 Ruby:         ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux]
 GitLab:       14.6.1 (661d663ab2b) FOSS
 GitLab Shell: 13.22.1
 PostgreSQL:   12.7
--------------------------------------------------------------------------------
Loading production environment (Rails 6.1.4.1)
irb(main):001:0> user = User.where(id: 1).first
=> #<User id:1 @root>
irb(main):002:0> user.password = 'xxx'
=> "xxx"
irb(main):003:0> user.password_confirmation = 'xxxx'
=> "xxx"
irb(main):004:0> user.save!
=> true

登陆

web访问端口18181,直接在浏览器地址栏输入http://ip:18181进行访问

alt text

配置

人员和项目

进入管理界面,创建2个分组,每个分组有3个用户成员,两个组,两个项目,每个项目建dev/staging/live分支,同时检查pull & push 是否正常

成员 项目 分支
DEV1 root,hlg,dev1 Team1 Project1 dev/staging/live
DEV2 root,hlg,dev2 Team2 Project2 dev/staging/live

results matching ""

    No results matching ""