docker上快速搭建gitlab、gitlab-runer及实现CI/CD功能
作者:波力海带
这篇文章主要介绍了docker上快速搭建gitlab、gitlab-runer及实现CI/CD,本文给大家讲解的非常详细,包括docker上安装gitlab的相关操作及配置root账号密码,需要的朋友可以参考下
docker基本配置及命令不熟的,看我这篇
https://www.jb51.net/article/206760.htm
1.docker上安装gitlab
参考:https://www.jb51.net/article/244867.htm
1.1 拉取镜像
docker search gitlab docker pull docker.io/gitlab/gitlab-ce
1.2 启动gitlab服务
docker run -d -p 8443:443 -p 8090:80 -p 8022:22 --restart always --name gitlab -v /mydata/gitlab/etc:/etc/gitlab -v /mydata/gitlab/log:/var/log/gitlab -v /mydata/gitlab/data:/var/opt/gitlab --privileged=true 46cd6954564a
对该条指令解释一下
docker run -d #后台运行,全称:detach -p 8443:443 #将容器内部端口向外映射 -p 8090:80 #将容器内80端口映射至宿主机8090端口,这是访问gitlab的端口 -p 8022:22 #将容器内22端口映射至宿主机8022端口,这是访问ssh的端口 --restart always #容器自启动 --name gitlab #设置容器名称为gitlab -v /mydata/gitlab/etc:/etc/gitlab #将容器/etc/gitlab目录挂载到宿主机/mydata/gitlab/etc目录下,若宿主机内此目录不存在将会自动创建 -v /mydata/gitlab/log:/var/log/gitlab #与上面一样 -v /mydata/gitlab/data:/var/opt/gitlab #与上面一样 --privileged=true #特权指令,让容器获取宿主机root权限 46cd6954564a #镜像的ID,也可写镜像名称
访问出现如下界面,如果是502,等一会
1.3 配置root账号密码
进入容器
docker exec -it gitlab bash
获取密码
grep 'Password:' /etc/gitlab/initial_root_password
账号是root,密码根据自己查出来的,然后登录修改密码
2.docker上安装gitlab runner
拉取镜像
docker pull gitlab/gitlab-runner:latest
启动容器
docker run -d --name gitlab-runner \ --restart always \ --privileged=true \ -v /mydata/gitlab-runner/config:/etc/gitlab-runner \ -v /mydata/gitlab-runner/docker.sock:/var/run/docker.sock \ 77a7b2f30dd5
进入runner容器,注册到gitlab上
# 进入容器 docker exec -it gitlab-runner /bin/bash # 运行以下注册命令 gitlab-runner register # 输入Gitlab实例的地址 Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com ) http://192.168.56.10:8090 # 端口采用默认的80,否则需要加上端口,比如 http://192.168.0.253:81 # 输入token Please enter the gitlab-ci token for this runner tyXBwC8frbShS4yn3nE5 # 输入Runner的描述 Please enter the gitlab-ci description for this runner [hostname] my-runner # 输入与Runner关联的标签 Please enter the gitlab-ci tags for this runner (comma separated): my-tag # 输入Ruuner的执行者 Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell: docker # 如果上面执行者为docker,需要你在后续项目根部的.gitlab-ci.yml中指定docker版本 Please enter the Docker image (eg. ruby:2.1): alpine:latest
此处获取token
通过以上命令后,就可以在gitlab中查看到了这个刚刚创建的runner
runner注册完毕之后,还需要修改一下runner的配置文件,实现runner与宿主机的数据挂载:
vi /mydata/gitlab-runner/config/config.toml #打开你之前配置的挂载地址
原先是volumes = ["/cache"]
上面的volumes数组中添加docker的挂载和gradle本地仓库的挂载,加快项目的构建速度。
volumes = ["/cache","/var/run/docker.sock:/var/run/docker.sock","/usr/local/repos/gradle:/usr/local/repos/gradle"]
最后重启该容器
docker restart gitlab-runner
到此这篇关于docker上快速搭建gitlab、gitlab-runer及实现CI/CD的文章就介绍到这了,更多相关docker搭建gitlab实现CI/CD内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!