通过配置 GitLab 自动触发项目自动化构建与部署

【干货防踩坑/全图文分步/Gitlab镜像仓库自动同步】Gitlab CE/EE镜像仓库的配置技巧(含ssh/密码两验证方法) 众所周知,Gitlab是个好东西。为什么呢?GitHub没有的功能,他全有了。更何况还可以私有部署。这两天自己部署了Gitlab,然后想把自己的项目和Github同步,于是乎有了如下的故事。 阅读详情

一、环境准备:Docker、Jenkins、GitLab 部署(国内镜像加速)

        1.Docker 国内镜像源配置

        确保 Docker 拉取镜像时走国内加速,编辑 /etc/docker/daemon.json:

[root@host1 ~]# vi /etc/docker/daemon.json
[root@host1 ~]# cat /etc/docker/daemon.json
{
  "registry-mirrors": [
    "https://9fbd5949cbc94e4a9581e33b9077c811.mirror.swr.myhuaweicloud.com",
    "https://jnh8ca4k.mirror.aliyuncs.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://docker.mirror.aliyuncs.com",
    "https://reg-mirror.qiniu.com",
    "https://f1361db2.m.daocloud.io",
    "https://hub-mirror.c.163.com"
  ],
  "insecure-registries": ["192.168.197.9:5001"],
  "live-restore": true
}

重启 Docker 使配置生效:
[root@host1 ~]# systemctl daemon-reload
[root@host1 ~]# systemctl restart docker
[root@host1 ~]# 

        2.启动 GitLab(国内镜像版,支持中文)

        使用国内维护的 twang2218/gitlab-ce-zh 镜像(中文社区版,拉取更快),并映射端口 / 持久化数据:

# 创建数据持久化目录
[root@host1 ~]# mkdir -p /srv/gitlab/{config,logs,data}

# 启动 GitLab 容器(HTTP 用 8081 端口,避免与 Jenkins 冲突)
[root@host1 ~]# docker run -d \
  --name gitlab \
  -p 8443:443 -p 8081:80 -p 2222:22 \
  -v /srv/gitlab/config:/etc/gitlab \
  -v /srv/gitlab/logs:/var/log/gitlab \
  -v /srv/gitlab/data:/var/opt/gitlab \
  twang2218/gitlab-ce-zh:latest
Unable to find image 'twang2218/gitlab-ce-zh:latest' locally
latest: Pulling from twang2218/gitlab-ce-zh
8ee29e426c26: Pull complete 
6e83b260b73b: Pull complete 
e26b65fd1143: Pull complete 
40dca07f8222: Pull complete 
b420ae9e10b3: Pull complete 
a218309dd589: Pull complete 
5c60fd7ba0ce: Pull complete 
659c2144b5a3: Pull complete 
8289bbac0d0e: Pull complete 
31bbd150e8a7: Pull complete 
9114e78243fa: Pull complete 
e242e5cd1314: Pull complete 
0a079dc3f92c: Pull complete 
f0e195b09fd2: Pull complete 
6e23346e2f58: Pull complete 
91f00659be69: Pull complete 
a1031bcc5b2c: Pull complete 
e3074327c7b1: Pull complete 
a917618dbe42: Pull complete 
Digest: sha256:62686b74c6fca5ece8ed582d03a126c5988423dd8a19ce70e9a22357ffcaf1c8
Status: Downloaded newer image for twang2218/gitlab-ce-zh:latest
31cf4cf2bc3f76978e0ced18465a3c7197de6e5f74c852ddf5d76d7549dbe5af

        3.启动 Jenkins(国内加速拉取官方镜像)

        使用 jenkins/jenkins:lts(长期支持版),通过国内镜像源加速拉取:

# 创建 Jenkins 数据持久化目录
[root@host1 ~]# mkdir -p /srv/jenkins_home
[root@host1 ~]# chown -R 1000:1000 /srv/jenkins_home    # Jenkins 容器内用户为 uid=1000

# 启动 Jenkins 容器(映射 8080 端口)
[root@host1 ~]# docker run -d \
  --name jenkins \
  -p 8080:8080 -p 50000:50000 \
  -v /srv/jenkins_home:/var/jenkins_home \
  jenkins/jenkins:lts
Unable to find image 'jenkins/jenkins:lts' locally
lts: Pulling from jenkins/jenkins
8fb375ec14f3: Pull complete 
c7acc196d9db: Pull complete 
c9a178fb1e40: Pull complete 
59c3eb56f065: Pull complete 
5ad06dc8d2bc: Pull complete 
5fe83599b627: Pull complete 
1d17e189ff23: Pull complete 
18238f4d9e48: Pull complete 
7c1a19381ac9: Pull complete 
195624e01063: Pull complete 
e4441ae29535: Pull complete 
4f19f207bd6e: Pull complete 
Digest: sha256:ace160331258aeff24581038e63ec5b5e8e969cebc9582a5ac7f0ed9fd20043b
Status: Downloaded newer image for jenkins/jenkins:lts
6ab5e11b7982d6a476dd4b3ce8ccb9c8bf2cbeeb5fcddfe15ccfded8e07fc81f

二、Jenkins 配置:项目、触发器、插件

        1.初始化 Jenkins   

        (详细过程请查看 部署 Jenkins 服务器-优快云博客)

  • 访问 http://<宿主机IP>:8080(如 http://192.168.197.9:8082)。

  • 首次启动需获取初始密码:

[root@host1 ~]# docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
312dd6142d0b4e2ab0fb590782a85af9
  • 输入密码后,选择「安装推荐插件」,等待插件安装完成,创建管理员用户。

        2.安装必要插件

        进入「系统管理」→「插件管理」→「可选插件」,搜索并安装:

  • Git Plugin(Git 源码管理支持)
  • GitLab Plugin(GitLab 触发与认证支持)
  • Pipeline Plugin(流水线支持,可选,若用 Pipeline 语法)

        3.配置 GitLab 凭据

        进入「凭据」→「系统」→「全局凭据」→「添加凭据」:

  • 类型选「GitLab API 令牌」。
  • 前往 GitLab(http://<宿主机IP>:8081),点击「个人头像」→「设置」→「访问令牌」,创建令牌(勾选 api 权限),复制令牌内容。
  • 在 Jenkins 凭据中,「API 令牌」填写刚复制的内容,「ID」自定义(如 gitlab-token),保存。

        4.创建 Jenkins 项目(以 Maven 项目为例)

  • 点击「新建 Item」→ 选择「构建一个 Maven 项目」→ 输入项目名(如
GitLab 中国发行版如何设置镜像拉取策略? 极狐GitLab CI/CD 作业中容器镜像拉取策略的设置方法。 阅读详情

相关推荐

Jenkins+Docker+GitLab自动化部署springBoot项目

Jenkins+Docker+GitLab自动化部署springBoot项目安装DockerDocker安装Jenkins安装启动Jenkins配置JDK配置配置Maven下载Maven插件配置自动化部署 安装Docker 之前有专门介绍这里就不赘述了 链接: docker安装 Docker安装Jenkins 安装 安装 docker pull jenkins/jenkins 查看镜像 docker images 注意:nginx和centos镜像本教程无关 启动 在data目录下创建jenkin

qq_43539962的博客 2098

gitlab+jenkins自动化部署

搭建jenkins+gitlab自动集成、打包、部署

ALLLiu的博客 1万+

自动化运维记录之GitLab CI/CD 自动化部署入门教程

GitLab CI/CD 自动化部署入门 纯干货分享,小白也能看懂的gitlab CI/CD 自动化部署

Harry_z666的博客 1898

gitlab+jenkins自动化部署vue项目

gitlab+jenkins自动化部署vue项目1. 环境搭建1.1 gitlab安装1.1.1 gitlab-ee安装1.1.2 相关配置以及命令1.1.3 通知邮箱配置1.1.4 开放8888端口1.2 jenkins安装(前提需要java环境)2. 自动化配置2.1 本地创建vue项目并提交到gitlab2.2 jenkins配置2.3 gitlab钩子配置 1. 环境搭建 1.1 gitlab安装 1.1.1 gitlab-ee安装 环境安装: sudo yum install -y curl po

Heasdfghjkl的博客 1078

Jenkins安装与GitLab项目部署

本文主要讲述如何安装Jekins和部署GitLab项目。

yizhiweiyan的博客 747

Jenkins自动构建GitLab分支项目

jenkins自动化构建GitLab项目到docker容器

Fengkx518的博客 2033

Gitlab 软件库和镜像库

打开 Node JS 项目,编辑 package.json 文件,修改项目名称 加入 scope 例如 "name": "demo" 改为 "name": "@netkiller/demo",设置一个版本号 "version": "0.0.1",然后将 "private": true 改为 "private": false。修改配置 /etc/gitlab/gitlab.rb 文件,将 registry_external_url 的值修改为 http://registry.netkiller.cn。

1042

GitLab CI/CD 自动化部署流程详解

本文通过GLDisplayManager项目实例,详细讲解了如何设置和优化GitLab CI/CD配置文件。初始配置包含构建、测试和部署三个阶段,使用Maven和OpenJDK 17。针对部署阶段不执行、构建测试冗余等问题,提出了优化方案:更新分支条件、简化流程、升级Maven版本至3.9.0并确保TLSv1.3安全性。最终配置文件实现了高效的自动化构建、测试和部署流程,有效提升开发效率并减少人为错误,为类似项目提供了可参考的CI/CD实践方案。

m0_74337424的博客 164

Android息屏后台任务保活实战:从定时器失效到厂商白名单破解

本文深入探讨了Android应用在息屏后定时任务失效的根源,即系统为省电而触发的休眠机制。文章提供了从传统方案失效分析到实战破解的完整路径,核心在于引导用户将应用加入电池优化白名单并开启自启动权限,从而合法绕过限制。同时,结合WorkManager、AlarmManager等可靠定时方案,实现稳定的后台任务执行。

weixin_28475533的博客 423

Fedora 41上安装钉钉7.6.25,我踩过的那些依赖坑和最终解决方案

本文详细记录了在Fedora 41上安装钉钉7.6.25版本的全过程,包括解决依赖问题、转换deb包为rpm格式、处理libm.so.6错误等关键步骤。通过分享这些实用技巧和最终解决方案,帮助Linux用户顺利在Fedora系统上运行钉钉客户端,提升工作效率。

weixin_30485379的博客 206

从POI兴趣点获取到ArcGIS中热力图制作

1. POI获取及坐标点转换 POI获取我们要借助下面这个网站↓↓↓ 规划云http://guihuayun.com/poi/ 搜索POI兴趣点并复制兴趣点, 图 新建txt文本文档,粘贴兴趣点 图片 查看后得知,lng为横坐标,lat为纵坐标 文件,另存为csv格式文件,编码为utf—8 打开QGIS,因为我们pol点是从百度地图上获取的,为BD09坐标系,与WGS84有一定偏移【GCJ02:火星坐标系,是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。 BD09:为.

qq_43173805的博客 5598

毫米波雷达之CFAR 目标检测

恒虚警率(CFAR)算法是一种广泛应用于雷达目标检测的算法,其主要目 标是减少由于杂波与回波之间强度不对称而引起的误报,以确保相对恒定的虚警 率。如图 3.4(a)所示,表示由距离单元组成的一维数据。在待测单元 D 周围选 择若干个背景杂波功率的蓝色单元构成参考滑窗,称为参考单元;而待测单元 D 相邻的若干个不用于背景估计的单元则称为保护单元。当参考单元和保护单元的 维度从一维扩展到二维时,相应的 CFAR 检测由一维 CFAR 演变为二维 CFAR 以处理参考窗口,如图 3.4 (b)所示。

m0_56120826的博客 4921

美亚杯取证比赛必备:Veracrypt挂载+检材解压保姆级教程(附常见错误排查)

本文提供美亚杯数字取证竞赛的Veracrypt挂载与检材解压保姆级教程。详细解析从分卷压缩包解压(密码格式为MeiyaCup+年份)到使用Veracrypt正确挂载加密容器的全流程,并附有常见错误排查与高级应急方案,帮助选手高效突破技术门槛,顺利进入取证分析阶段。

alice7model的博客 1041

腾讯会议录屏损坏修复:使用 recover_mp4 工具的完整解决方案

腾讯会议录屏损坏修复指南 当腾讯会议录屏因电脑蓝屏等意外导致MP4文件损坏时,可使用recover_mp4工具结合FFMPEG进行修复。操作步骤包括:1)准备相同参数正常视频作为参考;2)分析正常视频生成结构文件;3)分离损坏视频的音视频流;4)使用FFMPEG重新封装。该方法能有效修复因意外中断导致的视频索引损坏问题。修复前需将工具和文件放在同一目录下,并确保参考视频与损坏录屏的参数完全一致。

m0_62498496的博客 2627

《雷达入门课 》系列文章(5)线性调频连续波雷达基本原理(第1讲)

S=B/Tc,是调频斜率。这里的混频公式推导过程比较简单,具体的混频过程如果感兴趣可以看下面粗略的推导,混频的本质就是频谱搬移,分为上变频和下变频,一般我们用下变频,即差频信号,因此需要一个低通滤波器即可滤出我们所需要的信号。答案就是因为中频信号能够映射出目标的距离信息,换句话说就是目标的距离不一样,返回的时间τ也就不一样,因此中频信号的频率大小也就不一样,可以说距离和中频信号是成映射关系的。中频只是表示信号频段的程度词,不是表示信号的状态词,意思就是说中频是指信号的频率不是很高,正好处于中间的地位。

【调皮连续波】雷达技术领域知识博主 6022

Qt —— QWebEngineView加载谷歌离线地图(包含离线地图瓦片下载制作、附谷歌地图开发文档)

  关注 微信公众号搜索"Qt_io_"或"Qt开发者中心"了解更多关于Qt、C++开发知识.。 笔者 - jxd

1万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

上一篇: 使用 Jenkins 的流水线项目实施 CI/CD
下一篇: 基于 kind 部署 Kubernetes 集群
Lin_Aries_0421
博客等级 码龄3年 271粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值