docker上快速搭建gitlab、gitlab-runer及实现CI/CD功能

 更新时间:2022年04月18日 14:37:51   作者:波力海带  
这篇文章主要介绍了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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 快速安装Docker详细步骤教程

    快速安装Docker详细步骤教程

    这篇文章主要为大家详细的介绍了快速安装Docker的详细步骤教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03
  • Docker使用Git实现Jenkins发布、测试项目的详细流程

    Docker使用Git实现Jenkins发布、测试项目的详细流程

    这篇文章主要介绍了Docker使用Git实现Jenkins发布、测试项目的详细流程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Docker搭建php环境教程详解

    Docker搭建php环境教程详解

    这篇文章主要介绍了Docker搭建php环境教程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • 使用docker在服务器运行多个php版本

    使用docker在服务器运行多个php版本

    这篇文章主要介绍了利用docker在服务器运行多个版本php,本文以php7为例,通过实例代码的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • 开启Docker的TCP通信端口方式

    开启Docker的TCP通信端口方式

    这篇文章主要介绍了开启Docker的TCP通信端口方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Docker常用的清除容器镜像命令小结

    Docker常用的清除容器镜像命令小结

    这篇文章主要给大家总结了Docker常用的清除容器镜像命令,相信对大家的学习和工作具有一定的参考借鉴价值,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-12-12
  • 利用Docker部署PostgreSQL 12.4主从方式

    利用Docker部署PostgreSQL 12.4主从方式

    这篇文章主要介绍了利用Docker部署PostgreSQL 12.4主从方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • docker实现资源清理方式

    docker实现资源清理方式

    这篇文章主要介绍了docker实现资源清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Docker使用Bind9实现域名解析的思路详解

    Docker使用Bind9实现域名解析的思路详解

    这篇文章主要介绍了DOCKER使用BIND9实现域名解析,主要包括刷新服务修改配置文件信息,实现思路也很简单,本文给大家介绍的非常详细对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-11-11
  • Docker守护进程安全配置项目详解

    Docker守护进程安全配置项目详解

    这篇文章主要介绍了Docker守护进程安全配置介绍,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03

最新评论