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的安装与使用就结束了,欢迎安装失败的小伙伴留言,博主看到了会及时回复
相关文章:
Docker中gitlab以及gitlab-runner的安装与使用
1、本文主要讲述如何使用Docker安装gitlab以及gitlab-runner,并且会讲述gitlab-runner如何使用 2、gitlab部分不需要修改过多的配置即可使用,本文未讲述https配置,如有需求,可自行百度 3、Docker如何安装可以自行百度 一、Docker安…...
一起学SF框架系列5.12-spring-beans-数据绑定dataBinding
数据绑定有助于将用户输入动态绑定到应用程序的域模型(或用于处理用户输入的任何对象),主要用于web层,但实际可用于任何层。Spring提供了DataBinder来做到这一点,并提供了Validator进行数据验证,两者组成了…...
火热报名中 | 赛宁独家技术支持第七届“蓝帽杯”网络安全技能大赛
由公安部网络安全保卫局、教育部教育管理信息中心、中国教育协会指导,中国人民公安大学主办,奇安信科技集团股份有限公司协办,南京赛宁信息技术有限公司提供技术支持的2023第七届“蓝帽杯”全国大学生网络安全技能大赛于近日正式开启报名。 …...
无涯教程-jQuery - Ajax Tutorial函数
AJAX是用于创建交互式Web应用程序的Web开发技术。如果您了解JavaScript,HTML,CSS和XML,则只需花费一个小时即可开始使用AJAX。 为什么要学习Ajax? AJAX代表 A 同步 Ja vaScript和 X ML。 AJAX是一项新技术,可借助XML,HTML,CSS和Java Script创建更好,更快,更具交互性的Web应用…...
Android日志
Android中的日志工具类是Log(android.util.Log),这个类中提供了如下5个方法来供我们打印日志。 Log.v()。用于打印那些最为琐碎的、意义最小的日志信息。对应级别verbose,是Android日志里面级别最低的一种。 Log.d()。用于打印一…...
【Golang 接口自动化08】使用标准库httptest完成HTTP请求的Mock测试
目录 前言 http包的HandleFunc函数 http.Request/http.ResponseWriter httptest 定义被测接口 测试代码 测试执行 总结 资料获取方法 前言 Mock是一个做自动化测试永远绕不过去的话题。本文主要介绍使用标准库net/http/httptest完成HTTP请求的Mock的测试方法。 可能有…...
SpringBoot自定义注解 + AOP+分布式Redis 防止重复提交
第一步 引入依赖pom.xml: <dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.16.3</version> <!-- 使用最新版本 --></dependency><dependency><groupId&g…...
3.yum安装分布式LNMP--剧本
文章目录 修改hosts创建剧本文件 修改hosts vim /etc/ansible/hosts[webservers] 192.168.242.67[dbservers] 192.168.242.68[phpservers] 192.168.242.69创建剧本文件 vim lnmp.yaml- name: nginx playhosts: webserversremote_user: rootvars:- http_port: 192.168.242.67:…...
论文笔记:Fine-Grained Urban Flow Prediction
2021 WWW 1 intro 细粒度城市流量预测 两个挑战 细粒度数据中观察到的网格间的转移动态使得预测变得更加复杂 需要在全局范围内捕获网格单元之间的空间依赖性单独学习外部因素(例如天气、POI、路段信息等)对大量网格单元的影响非常具有挑战性——>论…...
系统集成|第八章(笔记)
目录 第八章 进度管理8.1 主要过程8.1.1 规划进度管理8.1.2 定义活动8.1.3 排列活动顺序8.1.4 估算活动资源8.1.5 估算活动持续时间8.1.6 制定进度计划8.1.7 控制进度 8.2 注意与问题 上篇:第七章、范围管理 第八章 进度管理 8.1 主要过程 包括: 规划进…...
【分布式】分布式唯一 ID 的 几种生成方案以及优缺点snowflake优化方案
在互联网的业务系统中,涉及到各种各样的ID,如在支付系统中就会有支付ID、退款ID等。那一般生成ID都有哪些解决方案呢?特别是在复杂的分布式系统业务场景中,我们应该采用哪种适合自己的解决方案是十分重要的。下面我们一一来列举一…...
FFmpeg5.0源码阅读——av_interleaved_write_frame
摘要:本文主要详细描述FFmpeg中封装时写packet到媒体文件的函数av_interleaved_write_frame的实现。 关键字:av_interleaved_write_frame 读者须知:读者需要熟悉ffmpeg的基本使用。 1 基本调用流程 av_interleaved_write_frame的基本…...
力扣 70. 爬楼梯
题目来源:https://leetcode.cn/problems/climbing-stairs/description/ C题解(来源代码随想录): 本质上是一道斐波那契数题。 动规五部曲:定义一个一维数组来记录不同楼层的状态 确定dp数组以及下标的含义。dp[i]&am…...
AVFoundation - 媒体捕捉
文章目录 注意使用 NSCameraUsageDescriptioniOS 的摄像头可能比 Mac 更多功能特性@interface Capture ()<AVCaptureFileOutputRecordingDelegate>@property (strong, nonatomic) AVCaptureSession *captureSession; @property (weak, nonatomic) AVCaptureDeviceInput *…...
【新版系统架构补充】-嵌入式技术
嵌入式微处理体系结构 冯诺依曼结构 传统计算机采用冯诺依曼结构,也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构 冯诺依曼的计算机程序和数据共用一个存储空间,程序指令存储地址和数据存储地址指向同一个存…...
fpga开发--蜂鸣器发出连续不同的音调
描述 使用fpga蜂鸣器连续发出do,re,mi,fa,so,la,xi七个不同的音调,每个音调的持续时间为0.5s。 思路 采用状态机实现音调的转化,当do状态持续了0.5s之后转移到re状态,…...
Redis 主从同步原理
一、什么是主从同步? 主从同步,就是将数据冗余备份,主库(Master)将自己库中的数据,同步给从库(Slave)。 从库可以一个,也可以多个,如图所示: 二…...
opencv-28 自适应阈值处理-cv2.adaptiveThreshold()
什么是自适应阈值处理? 对于色彩均衡的图像,直接使用一个阈值就能完成对图像的阈值化处理。但是,有时图像的色彩是不均衡的,此时如果只使用一个阈值,就无法得到清晰有效的阈值分割结果图像。 有一种改进的阈值处理技术ÿ…...
Java泛型5——泛型通配符
注:以下内容基于Java 8,所有代码都已在Java 8环境下测试通过 目录: Java泛型1——概述Java泛型2——泛型类Java泛型3——泛型接口Java泛型4——泛型方法Java泛型5——泛型通配符Java泛型6——类型擦除 什么是通配符 在Java中,类…...
牛客 AB25 ranko的手表 JAVA 枚举
描述 ranko 的手表坏了,正常应该显示 xx:xx 的形式(4 个数字),比如下午 1 点半应该显示 13:30 ,但现在经常会有一些数字有概率无法显示。 ranko 在 �1t1 时刻看了下时间,过了一段时间在 &am…...
从理论到实践:Ceres、G2O与GTSAM在位姿图优化中的核心实现与对比
1. 位姿图优化:从理论到代码的完整视角 想象你正在搭建一个室内扫地机器人,它需要同时完成两件事:构建房间地图(Mapping)和确定自身位置(Localization)。这就是典型的SLAM问题。而位姿图优化&am…...
突破Cursor AI试用限制:技术实现与实战指南
突破Cursor AI试用限制:技术实现与实战指南 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your trial request…...
从入门到精通:trtexec命令行工具在TensorRT模型部署中的实战指南
1. trtexec工具基础入门 第一次接触trtexec时,我也被这个命令行工具的参数数量吓到了。但实际用下来发现,它就像瑞士军刀一样,虽然功能多但每个都很实用。trtexec是TensorRT安装包自带的命令行工具,主要用来做三件事:…...
Git合并翻车现场实录:从命令行到IDEA,详解Merge冲突前后的撤销操作差异
Git合并操作全流程避险指南:冲突诊断与精准撤销策略 当两个开发分支在版本控制系统中交汇时,合并操作就像一场精心编排的代码芭蕾。但现实往往比理想骨感——据统计,约35%的Git用户在合并过程中至少遭遇过一次需要撤销操作的场景。本文将带您…...
RePKG终极指南:如何深度解析Wallpaper Engine资源包与TEX纹理转换
RePKG终极指南:如何深度解析Wallpaper Engine资源包与TEX纹理转换 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg RePKG是一款专为Wallpaper Engine设计的专业级资源包解…...
基于知识图谱与NLP技术的小说文本结构化分析实战
1. 项目概述:当小说遇见知识图谱 如果你和我一样,既是个技术爱好者,又是个小说迷,那你肯定有过这样的体验:读完一本情节复杂、人物关系盘根错节的小说后,合上书页,脑子里却一团乱麻。谁是谁的盟…...
【资讯】《二〇二五年中国知识产权保护状况》白皮书正式发布
2026年5月7日,《二〇二五年中国知识产权保护状况》白皮书正式发布,呈现了2025年中国知识产权保护工作进展,系统介绍制度建设、审批登记、文化建设、国际合作等方面的扎实成果,为社会各界和国际社会了解中国知识产权保护最新实践提…...
基础教程通过Taotoken CLI一键配置开发环境与API密钥
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 基础教程:通过Taotoken CLI一键配置开发环境与API密钥 对于开发团队而言,让新成员快速、统一地接入大模型服…...
Claude任务大师浏览器扩展:AI自动化工作流与Chrome插件开发实战
1. 项目概述与核心价值最近在折腾AI自动化工作流,发现一个痛点:虽然像Claude这样的AI助手能力很强,但每次想让它帮我处理网页内容,都得手动复制粘贴,效率实在太低。直到我发现了GitHub上一个名为“claude-task-master-…...
Java-Callgraph2:Java静态分析工具终极指南
Java-Callgraph2:Java静态分析工具终极指南 【免费下载链接】java-callgraph2 Programs for producing static call graphs for Java programs. 项目地址: https://gitcode.com/gh_mirrors/ja/java-callgraph2 Java-Callgraph2是一款功能强大的Java静态分析工…...
