Docker中gitlab以及gitlab-runner的安装与使用

1、本文主要讲述如何使用Docker安装gitlab以及gitlab-runner,并且会讲述gitlab-runner如何使用
2、gitlab部分不需要修改过多的配置即可使用,本文未讲述https配置,如有需求,可自行百度

3、Docker如何安装可以自行百度

一、Docker安装gitlab

1、使用命令直接安装gitlab最新版本(建议安装最新版本,更加安全且全面)

docker pull gitlab/gitlab-ce

2、使用命令启动gitlab

# /home/www/gitlab/config:/etc/gitlab是docker中gitlab配置映射在主机中的位置,可自己改动(主机文件位置:docker文件位置)
# /home/www/gitlab/log:/var/log/gitlab是docker中gitlab日志映射在主机中的位置,可自己改动(主机文件位置:docker文件位置)
# /home/www/gitlab/data:/var/opt/gitlab是docker中gitlab数据映射在主机中的位置,可自己改动(主机文件位置:docker文件位置)
docker run -d -p 8888:80 -p 8443:443 -p 8822:22 --name gitlab --restart always --privileged=true -v /home/www/gitlab/config:/etc/gitlab -v /home/www/gitlab/log:/var/log/gitlab -v /home/www/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest

3、仓库启动后,修改url地址,避免项目地址乱码

# 进入容器
docker exec -it gitlab bash
# 修改配置文件
vim /etc/gitlab/gitlab.rb
# 修改以下配置:
external_url 'http://XX.XX.XX.XX:XXXX'	# IP:端口
nginx['listen_port'] = 80	# gitlab自带nginx监听80端口进行访问
# 保存退出,重启配置(重启配置会自动重启gitlab)
gitlab-ctl reconfigure

4、修改初始账号密码

# 进入已启动的gitlab容器
docker exec -it gitlab bash
# 链接数据库
gitlab-rails console -e production
# 等待链接成功后,获取用户
user = User.where(id:1).first
# 可以修改用户账号以及密码
user.username = 'XXX'
user.password = 'XXX'
# 保存修改后的数据,save后面不要忘记!的输入
user.save!
# 等gitlab页面自动部署好之后,访问上面external_url配置的地址,使用账号密码登录gitlab即可

二、Docker安装gitlab-runner

1、使用命令直接安装gitlab-runner最新版本

docker pull gitlab/gitlab-runner

2、使用命令启动gitlab-runner

# 文件映射与gitlab一致,可自行修改
docker run -d  --privileged=true  --name runner --restart always -v /home/www/gitlab-runner/config:/etc/gitlab-runner -v /home/www/gitlab-runner/run/docker.sock:/var/run/docker.sock -v /home/www/gitlab-runner/bin/docker:/usr/bin/docker gitlab/gitlab-runner

三、gitlab与gitlab-runner结合使用

1、进入gitlab的runner页面进行创建runner实例

在这里插入图片描述

2、进入后填写以下信息

在这里插入图片描述

选择你使用的操作系统,标签已经最大作业超时时间,本人的选择是:Linux,输入标签,
勾选了运行未打标签的作业,最大作业超时未填写,使用了系统默认的,标签需要记住,后
面编写.gitlab-ci.yml文件时需要用到

3、得到图片中的信息

在这里插入图片描述

4、进入gitlab-runner容器开始注册

# docker exec -it是docker进入容器的命令,这里的runner是上面docker启动容器时的名字,然后使用bash进入
docker exec -it runner bash
# 注册gitlab-runner,输入命令开始注册
gitlab-runner register
# 按照下图将信息补充完整即可,这样gitlab-runner就注册完成了

在这里插入图片描述

5、随意创建一个空白仓库

在这里插入图片描述

6、编写项目中会.gitlab-ci.yml文件后,提交更改

stages:
- test	# 需要与创建runner实例时的标签一致,如果忘记了,可以去runner中查看
sast:	# 名字可以自定义stage: test	# 从stages中选择tags:	# 标签可以没有- testscript:	# 执行的脚本,可以是sh,except等等- echo "Test .gitlab-ci.yml!"

7、查看runner是否有被执行

在这里插入图片描述
标识runner执行成功,如果是X,则执行失败,根据失败原因自行调整
点击对勾进入下一页
在这里插入图片描述
点击已通过进入下一页
在这里插入图片描述
点击名字进入详情页面,如果点击后面的再次运行,则无法看到详情信息
在这里插入图片描述
图中就显示的script所执行的命令

结语

按照以上步骤,gitlab与gitlab-runner的安装与使用就结束了,欢迎安装失败的小伙伴留言,博主看到了会及时回复

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/20863.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

轻量化YOLOv5改进 | 结合repghost结构冲参数化网络,实现轻量化和加速推理,

RepGhost: A Hardware-Efficient Ghost Module via Re-parameterization 论文总结本文改进repghost 核心代码测试参数量和计算量🔥🔥🔥 “引入RepGhostNet以加速CNN网络推理” “网络宽度的自定义调整:无缝嵌入YOLOv5” “通过结构重参数化优化网络性能” “实现高效和…

【JVM】(二)深入理解Java类加载机制与双亲委派模型

文章目录 前言一、类加载过程1.1 加载(Loading)1.2 验证(Verification)1.3 准备(Preparation)1.4 解析(Resolution)1.5 初始化(Initialization) 二、双亲委派…

数字化采购:提升效率、优化供应链的新趋势

随着信息技术的快速发展,数字化采购正成为企业追求效率和优化供应链的新趋势。数字化采购是利用数字技术和互联网平台,实现采购流程的自动化和在线化。本文将围绕数字化采购的应用场景,探讨其在采购环节中带来的效益与优势。 一、在线供应商…

分布式限流方案及实现

优质博文:IT-BLOG-CN 一、限流的作用和意义 限流是对高并发访问进行限制,限速的过程。通过限流来限制资源,可以提高系统的稳定性和可靠性,控制系统的负载,削峰填谷,保证服务质量。 服务限流后的常见处理…

重磅!EBImage包:为何如此火爆?它的图像处理到底有何不可思议之处?

一、简介 1.1 EBImage包简介 EBImage包是一个广受欢迎的用于图像处理和分析的R语言包。它提供了一套全面而强大的功能,支持多种图像格式的读取和写入,处理多维图像数据,并提供了各种先进的图像处理算法、特征提取和测量函数。 1.2 EBImage爆火…

DAY1,C高级(命令,Linux的文件系统,软、硬链接文件)

1.创建链接文件; 文件系统中的每个文件都与唯一的 inode 相关联,inode 存储了文件的元数据和数据块的地址,文件名与 inode 之间的链接关系称为硬链接或软链接。 硬链接文件的创建: ln 被链接文件的绝对路径 硬链接文件的绝对…

nsqd的架构及源码分析

文章目录 一 nsq的整体代码结构 二 回顾nsq的整体架构图 三 nsqd进程的作用 四 nsqd启动流程的源码分析 五 本篇博客总结 在博客 nsq整体架构及各个部件作用详解_YZF_Kevin的博客-CSDN博客 中我们讲了nsq的整体框架,各个部件的大致作用。如果没看过的&…

论文笔记——Influence Maximization in Undirected Networks

Influence Maximization in Undirected Networks ContributionMotivationPreliminariesNotations Main resultsReduction to Balanced Optimal InstancesProving Theorem 3.1 for Balanced Optimal Instances Contribution 好久没发paper笔记了,这篇比较偏理论&…

pytorch 中 view 和reshape的区别

在 PyTorch(一个流行的深度学习框架)中, reshape 和 view 都是用于改变张量(tensor)形状的方法,但它们在实现方式和使用上有一些区别。下面是它们之间的主要区别: 实现方式: reshap…

html学习7(iframe)

1、通过使用iframe标签定义框架,可在同一个浏览器中显示不止一个画面。 2、height和width属性用于定义框架的高度与宽度。 3、属性frameborder‘0’用于是否显示边框。 4、iframe可以显示一个目标链接的页面,链接的target属性设置为相应的iframe名称。…

2023年华数杯C题思路

c题 母亲身心健康对婴儿成长的影响 母亲是婴儿生命中最重要的人之一,她不仅为婴儿提供营养物质和身体保护,还为婴儿提供情感支持和安全感。母亲心理健康状态的不良状况,如抑郁、焦虑压力等,可能会对婴儿的认知、情感、社会行为等方面产生负面影响。压力…

2023年华数杯C题详细思路

2023年华数杯作为与国赛同频的比赛(都是周四6点发题,周日晚8点交卷),也是暑期唯一一个正式比赛。今年的报名队伍已经高达6000多对。基于这么多的人数进行国赛前队伍的练习,以及其他用途。为了方便大家跟更好的选题&…

机器学习03-数据理解(小白快速理解分析Pima Indians数据集)

机器学习数据理解是指对数据集进行详细的分析和探索,以了解数据的结构、特征、分布和质量。数据理解是进行机器学习项目的重要第一步,它有助于我们对数据的基本属性有全面的了解,并为后续的数据预处理、特征工程和模型选择提供指导。 数据理解…

vue 图片回显标签

第一种 <el-form-item label"打款银行回单"><image-preview :src"form.bankreceiptUrl" :width"120" :height"120"/></el-form-item>// 值为 https://t11.baidu.com/it/app106&fJPEG&fm30&fmtauto&…

SpringBoot整合Caffeine

一、Caffeine介绍 1、缓存介绍 缓存(Cache)在代码世界中无处不在。从底层的CPU多级缓存&#xff0c;到客户端的页面缓存&#xff0c;处处都存在着缓存的身影。缓存从本质上来说&#xff0c;是一种空间换时间的手段&#xff0c;通过对数据进行一定的空间安排&#xff0c;使得下…

如何使用免费敏捷工具Leangoo领歌管理Sprint Backlog

什么是Sprint Backlog&#xff1f; Sprint Backlog是Scrum的主要工件之一。在Scrum中&#xff0c;团队按照迭代的方式工作&#xff0c;每个迭代称为一个Sprint。在Sprint开始之前&#xff0c;PO会准备好产品Backlog&#xff0c;准备好的产品Backlog应该是经过梳理、估算和优先…

JVM调优工具详解以及实战

准备 事先启动一个web应用程序&#xff0c;用jps查看进程id&#xff0c;接着用各种jdk自带的命令优化应用 Jmap jmap -histo 6160 #查看历史生成的实例 jmap -histo:live 6160 #查看当前存活的实例&#xff0c;执行过程中可能会触发一次full gc jmap -histo:live 6160 &…

Chapter 11: Tuples | Python for Everybody 讲义笔记_En

文章目录 Python for Everybody课程简介TuplesTuples are immutableComparing tuplesTuple assignmentDictionaries and tuplesMultiple assignment with dictionariesThe most common wordsUsing tuples as keys in dictionariesSequences: strings, lists, and tuples - Oh M…

FTP文件传输协议

FTP文件传输协议 介绍 将某台计算机中的文件通过网络传送到可能相距很远的另一台计算机中&#xff0c;是一项基本的网络应用&#xff0c;即文件传送文件传输协议(File Transfer Protocol)是因特网上使用得最广泛的文件传输协议 FTP提供交互式访问&#xff0c;允许客户指明文件…

frida学习及使用

文章目录 安装frida安装python3.7设置环境变量安装pycharm和nodejs 使用frida将frida-server push到手机设备中端口转发安装apk使用jadx查看java代码运行frida-server frida源码阅读frida hook方法Frida Java层hoookJavaHook.javaJavaHook.js Frida native层hook 一NativeHook.…