热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

docker+gitlab+gitlab-runner环境怎么部署

本篇内容介绍了“docker+gitlab+gitlab-runner环境怎么部署”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带

本篇内容介绍了“docker+gitlab+gitlab-runner环境怎么部署”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

环境

服务端:centos7

客户端:window

在centos7上部署docker+gitlab+gitlab-runner,win10利用ssh连接,开发人员只需提交代码,就可以进行项目文件上传,打包镜像,发布运行测试

一、centos7上安装docker和docker-compose

安装docker:

1、docker 要求 centos 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的centos 版本是否支持 docker 。

通过uname -r命令查看你当前的内核版本

2、使用root权限登录 centos。确保 yum 包更新到最新。

3、卸载旧版本(如果安装过旧版本的话)

4、安装需要的软件包,yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

5、设置yum源

docker+gitlab+gitlab-runner环境怎么部署

6、可以查看所有仓库中所有docker版本,并选择特定版本安装

docker+gitlab+gitlab-runner环境怎么部署

7、安装docker

docker+gitlab+gitlab-runner环境怎么部署

8、启动并加入开机启动

9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

docker+gitlab+gitlab-runner环境怎么部署

10、建议更换docker的镜像源:

1.修改或创建daemon.json文件:vi /etc/docker/daemon.json

将以下配置写入到文件中,保存并退出(不会操作的百度下vi命令吧):

2.重启docker:systemctl restart docker

安装docker-compose:

参考官网:

1、run this command to download the latest version of docker compose:

2、apply executable permissions to the binary:

二、拉取gitlab中文版镜像

地址:

1、利用xshell+xftp在centos7中创建存储日志、配置、数据的文件夹

  文件夹结构如下:

2、利用docker-compose.yml启动

如果你的服务器有域名,将上面的gitlab.domain.com替换为实际域名。

实验时,也可以直接修改/etc/hosts方便测试。比如:127.0.0.1 gitlab.example.com

3、cd到gitlab目录下执行docker-compose up -d启动,稍作等待。。

4、启动完毕后打开浏览器访问gitlab.domain.com

docker+gitlab+gitlab-runner环境怎么部署

5、ssh 连接gitlab

首先我们需要得到一个ssh key,输入

如果出现 ssh-rsa打头的字符,说明本地已经有了ssh key那我们可以直接拿来用,如果没有则需要我们自己创建一个ssh key。

docker+gitlab+gitlab-runner环境怎么部署

6、创建ssh key

输入以下命令创建一个ssh key。

完成之后可以再输入 上面的cat命令 或者pbcopy直接复制生成的ssh key。

在gitlab中账号-》设置中找到 ssh keys中添加这个key即可。

docker+gitlab+gitlab-runner环境怎么部署

7、ssh 连接 1022 端口

正常情况下你已经可以通过git命令来连接我们部署的gitlab,但这里不一样的是我们把容器的 22端口映射到了 host的 1022上,我们需要指定端口来进连接。

同时还需要更改gitlab的配置文件中的 ssh端口(如果上面配置过就不用了),否则gitlab中为我们生成的项目连接地址会连接不上。/gitlab/config/gitlab.rb

更改完ssh端口之后重启gitlab容器,之后我们的项目 ssh连接址会变为:

到这里我们已经完成了gitlab的部署。

三、拉取gitlab-runner镜像

地址:

1、利用xshell+xftp在centos7中创建存储日志、配置、数据的文件夹

  文件夹结构如下:

2、利用docker-compose.yml启动

其中gitlab_default为上面gitlab的网络

注意:gitlab-runner的版本要和gitlab尽量对应不然会出现连不上gitlab

3、cd到gitlab目录下执行docker-compose up -d启动

四、配置gitlab-runner连上gitlab

1、注册gitlab-runner

2. 我们会输入 http://gitlab.domain.com或http://ip:port 也就是我们安装在本地的gitlab

3. please enter the gitlab-ci token for this runner 要求输入 gitlab-ci token

在项目的 管理区域->runners中可以找到(这里注册的是share类型runner)

docker+gitlab+gitlab-runner环境怎么部署

4. 输入描述,如:test

5. 输入tag(留空也可以,之后可以进行编辑 )

6. 选择当遇到没有打标签的提交时是否会执行,我们选 true

7. 是否锁定此runner 到当前项目, 我们选 false

8. 选一个执行者 executor

这一步比较重要 (ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell)

我们选docker

9. 选择默认使用的镜像: docker:stable

在注册完之后,我们可以在gitlab获取gitlab-ci token 的页面看到我们刚刚注册的这个 runner

docker+gitlab+gitlab-runner环境怎么部署

同时可以在gitlab-runner/config下可以看到生成一个config.toml的文件,文件内容如下:

或者直接先配置好,gitlab-runner运行时会自动加载该配置文件

参考地址:

五、提交项目代码完成ci/cd

1、在项目根目录下添加.gitlab-ci.yml,提交项目代码后会自动运行该文件打包项目

2、在win10上通过git提交代码

cd到项目根目录,如果有安装git的话可以直接在根目录下打开git bash 执行,如果没有安装打开powershell也行

“docker+gitlab+gitlab-runner环境怎么部署”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程笔记网站,小编将为大家输出更多高质量的实用文章!


推荐阅读
  • 本文详细介绍了如何通过RPM包在Linux系统(如CentOS)上安装MySQL 5.6。涵盖了检查现有安装、下载和安装RPM包、配置MySQL以及设置远程访问和开机自启动等步骤。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文详细介绍了Linux系统中init进程的作用及其启动过程,解释了运行级别的概念,并提供了调整服务启动顺序的具体步骤和实例。通过了解这些内容,用户可以更好地管理系统的启动流程和服务配置。 ... [详细]
  • CentOS系统安装与配置常见问题及解决方案
    本文详细介绍了在CentOS系统安装过程中遇到的常见问题及其解决方案,包括Vi编辑器的操作、图形界面的安装、网络连接故障排除等。通过本文,读者可以更好地理解和解决这些常见问题。 ... [详细]
  • 本文探讨了在 OpenStack 环境中使用虚拟机部署 Ceph 集群后,外部服务器通过浮动 IP 无法访问该集群的问题,并提供了详细的解决方案。 ... [详细]
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 本文详细介绍了如何规划和部署一个高可用的Etcd集群,包括主机配置、软件安装、防火墙设置及集群健康检查等内容。通过合理的硬件配置和网络规划,确保Etcd集群在生产环境中的稳定运行。 ... [详细]
  • 配置多VLAN环境下的透明SQUID代理
    本文介绍如何在包含多个VLAN的网络环境中配置SQUID作为透明网关。网络拓扑包括Cisco 3750交换机、PANABIT防火墙和SQUID服务器,所有设备均部署在ESXi虚拟化平台上。 ... [详细]
author-avatar
飞鱼
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有