docker安装gitlab

一、 部署gitlab

1.1 拉取gitlab镜像

# gitlab-ce为稳定版本,后面不填写版本则默认pull最新latest版本
# 注意需要配置镜像加速器,不然会非常慢

1 docker pull gitlab/gitlab-ce

 

1.2 运行gitlab镜像

docker run -d \
-p 443:443 -p 80:80 -p 222:22 \
--restart always \
--name gitlab \
-v /data/gitlab/etc/gitlab:/etc/gitlab \
-v /data/gitlab/var/log:/var/log/gitlab \
-v /data/gitlab/var/opt:/var/opt/gitlab \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
--privileged=true \
gitlab/gitlab-ce:latest

 

#参数说明:

# -d:后台运行
# -p:将容器内部端口向外映射
# --name:命名容器名称
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录

1.3 配置

# gitlab.rb文件内容默认全是注释

1 vim /data/gitlab/etc/gitlab/gitlab.rb

 

# 配置内容如下:

1 # 配置http协议所使用的访问地址,不加端口号默认为80
2 external_url 'http://192.168.6.21'
3 
4 # 配置ssh协议所使用的访问地址和端口
5 gitlab_rails['gitlab_ssh_host'] = '192.168.6.21'
6 gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口

# 重启gitlab容器

1 docker restart gitlab

 

1.4 访问主页,若发生502报错

1 docker exec -it gitlab bash # 进入容器内部
2 gitlab-ctl restart sidekiq
3 gitlab-ctl hup unicorn

 

1.5 设置root密码,进入gitlab容器

1 gitlab-rails console -e production
2 # 查询id为1的用户,id为1的用户是超级管理员
3 user = User.where(id:1).first
4 # 修改密码为12345678
5 user.password='12345678'
6 # 保存
7 user.save!
8 # 退出
9 exit;

二、CICD:gitlab-runner

2.1 Runner 搭建

Runner是CI/CD中必不可少一个组件,它是我们持续化集成的实际操作者,当我们通过GitLab Service端发起操作时,实际都是分配到各个Runner服务器进行执行,Runner可以在任意服务器中部署然后再Service端中进行注册。

2.1.1 依赖安装
1 yum -y install java-1.8.0-openjdk*
2 yum -y install git
3 yum -y install maven

 

2.1.2配置maven镜像仓库
# 配置aliyun镜像
vim /etc/maven/settings.xml
# mirrors节点下添加(注意不能有tab键)
    <mirrors>
        <mirror>
            <id>alimaven</id>
            <mirrorOf>central</mirrorOf>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
        </mirror>

        <mirror>
            <id>repo1</id>
            <mirrorOf>central</mirrorOf>
            <name>Human Readable Name for this Mirror.</name>
            <url>http://repo1.maven.org/maven2/</url>
        </mirror>

        <mirror>
            <id>repo2</id>
            <mirrorOf>central</mirrorOf>
            <name>Human Readable Name for this Mirror.</name>
            <url>http://repo2.maven.org/maven2/</url>
        </mirror>
    </mirrors>

 

2.1.3 安装gitlab-runner
 1 ###安装gitlab-runner
 2 # Download the binary for your system
 3 sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
 4 
 5 # Give it permission to execute
 6 sudo chmod +x /usr/local/bin/gitlab-runner
 7 
 8 # Create a GitLab Runner user
 9 sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
10 
11 # Install and run as a service
12 gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
13 gitlab-runner start
2.2.4,如果有docker,授权可以使用docker
1 usermod -aG docker gitlab-runner # 保证可以使用docker
2 sudo -u gitlab-runner -H docker info # 验证是否有效

2.2 注册Runner

1 gitlab-runner register

会要求输入gitlab的url和Token.
查找过程如下:
进入仓库->settings->CI/CD,找到Runner Settings这一项,点击Expend,即可在Setup a specific Runner manually这项中找到。

 

posted @ 2022-12-01 14:10  威尔逊不背锅  阅读(876)  评论(0)    收藏  举报