安装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}
# #docker pull gitlab/gitlab-ce:14.10.1-ce.0 docker pull gitlab/gitlab-ce:latest
# 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