安装docker

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Install docker-ce
# "registry-mirrors": ["https://u8n2zdxj.mirror.aliyuncs.com"]
#yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y yum-utils device-mapper-persistent-data lvm2 && \
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum makecache fast
yum install -y docker-ce-20.10.17 docker-ce-cli-20.10.17 containerd.io &&\
mkdir -p /etc/docker
cat > /etc/docker/daemon.json <<-EOF
{
"data-root": "/data/docker"
}
EOF
systemctl daemon-reload && \
systemctl enable docker --now

Docker安装gitlab

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 完全卸载gitlab
#gitlab-ctl stop
#rpm -e gitlab-ce
#ps aux | grep gitlab | grep -v grep | awk '{print $2}' | xargs kill -9
#find / -name gitlab | xargs rm -rf

# 创建gitlab目录
mkdir -p /data/app/gitlab/{etc,logs,data,git-data}

### gitlab镜像拉取:
#docker pull gitlab/gitlab-ce:14.10.1-ce.0
docker pull gitlab/gitlab-ce:latest

### 运行gitlab
docker run -itd -u root --privileged=true \
--name gitlab \
--restart=always \
-p 2443:443 -p 2080:80 -p 2022:22 \
-v /etc/localtime:/etc/localtime \
-v /data/app/gitlab/etc:/etc/gitlab \
-v /data/app/gitlab/logs:/var/log/gitlab \
-v /data/app/gitlab/data:/var/opt/gitlab \
-v /data/app/gitlab/git-data:/home/gitlab/git-data \
gitlab/gitlab-ce:latest

配置gitlab

  • 宿主机修改/data/app/gitlab/etc/gitlab.rb配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
cat >> /data/app/gitlab/etc/gitlab.rb <<EOF
external_url 'http://gitlab.alxh.com'
gitlab_rails['gitlab_ssh_host'] = 'gitlab.alxh.com'
#gitlab_rails['gitlab_shell_ssh_port'] = 22
EOF
# docker exec -it gitlab /bin/bash -C 'gitlab-ctl reconfigure'
docker restart gitlab

# 配置http协议所使用的访问地址,容器内80端口,外部3080访问
# external_url 'http://120.232.96.48'
# 配置ssh协议所使用的访问地址和端口
# gitlab_rails['gitlab_ssh_host'] = '120.232.96.48'
# run时22端口映射的3022端口
# gitlab_rails['gitlab_shell_ssh_port'] = 3022

浏览器访问

1
2
3
URL:https://服务器IP:2080
初始账号:root
初始密码:cat /data/app/gitlab/etc/initial_root_password

gitlab配置webhooks

1、管理中心–设置–网络–外发请求–允许webhook和服务对本地网络的请求
2、选择项目–设置–webhooks,URL和Secret Token从jenkins中获取
http://192.168.194.131:38080/project/psweb
dd419660665e929e9f32b753e901916f
测试,Hook executed successfully: HTTP 200
修改代码推送到仓库后自动构建成功

3、创建access Token
用户设置–access Tokens–个人访问令牌
名称:jenkins container
cm6Ko5nRHsDsNw3rZrNF
范围:根据情况选择

Gitlab Access Tokens:
名称: k8s-cluster-gitlab-jenkins(container)120.232.96.48:3080
mLMVNrMqv5AD9pXLnAtP