百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

10分钟搞定gitlab-ci自动化部署_gitlab ci 自动化部署

liuian 2025-09-01 08:15 42 浏览

gitlab-ci 是持续集成工具/自动化部署工具,类似 jenkins。

持续集成 是将代码集成到共享存储库并尽可能早地自动构建/测试每个更改的实践 - 通常一天几次。

概述

在编码完成时都会进行打包发布过程,如果每次都手动操作这一步骤就会浪费时间,效率低下。所以就有了持续集成。

准备事项

请提前安装以下软件,本文不介绍如何安装。

  • gitlab
  • git

配置SSH Key

这一步至关重要,如果已配置可直接跳过。 如果不配置的话每次git pull都会要求输入密码,这样就做不到自动化了。

输入以下命令,一直回车即可

ssh-keygen -t rsa -b 4096 -C "你的邮箱@example.com"

查看生成的公钥, 并复制下来

cat ~/.ssh/id_rsa.pub

在gitlab上添加 SSH Key, 至此完成

新建git仓库

这一步可选,如果你已经有项目可直接跳过,只是为了照顾新人

1、在gitlab上新建项目

2、克隆仓库, 服务器和本地机器都要克隆,位置随意。 我把仓库克隆到了 /home/test/

git@localhost:root/test.git

安装 gitlab-runner

1、使用gitlab官方提供的仓库

curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash

2、使用yum进行安装

sudo yum install gitlab-runner

查看Runners配置信息

将 url 和 token复制保存下来,接下来的配置需要用到这2个。

位置 工程项目 -> Settings -> CI/CD -> Runners(点击右侧Expand展开起来就能看到)

url: http://localhost:8088/

token: LquGyHsNbzB2uBBxQMMj

注册gitlab-runner

安装完gitlab-runner还需要进行注册

1、输入以下命令进行注册

sudo gitlab-runner register

2、提示 Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):

将url粘贴并回车(不要说不知道~)

http://localhost:8088/

3、提示 Please enter the gitlab-ci token for this runner:

token粘贴并回车(不要说不知道~)

LquGyHsNbzB2uBBxQMMj

4、提示 Please enter the gitlab-ci description for this runner:

描述,随便输入

test build

5、提示 Please enter the gitlab-ci tags for this runner (comma separated):

输入标签, 可随意输入, 我就叫做 build

build

6、提示 Please enter the executor: docker, parallels, shell, ssh, docker+machine, custom, docker-ssh, virtualbox, docker-ssh+machine, kubernetes:

这一步根据自己的需求选择,这里选择 shell, 然后回车

shell

注册完成!~

注册 gitlab-ci-multi-runner

这一步和注册 gitlab-runner 一模一样,输入同样的信息即可

sudo gitlab-ci-multi-runner register

运行 gitlab-runner

查看是否运行成功,就在查看配置信息这里, 绿色圆点表示运行成功

如果上述没有运行,就执行这一步,否则跳过

gitlab-runner run

编写 gitlab-ci.yml

在本机项目根目录新建 .gitlab-ci.yml 然后写入:

stages:
 - build
# task-1 名字随意,代表一个工作
task-1:
 stage: build
 # 执行脚本, 这段脚本会在服务器执行
 script:
 - mkdir -p /home/temp_dir
 tags: 
 # 标签名字,注册runner时所填写的tag
 - build
 only:
 # 只有 master 分支才会执行
 - master

提交到远程仓库, gitlab 会侦测项目根目录下是否有 .gitlab-ci.yml, 如果有就会执行内容里面的任务。

查看本次任务是否执行成功, 如果出现 passed 表明成功执行

不过呢,并非都是那么好运气的,有以下几种情况出现:

  • pending 系统资源可能不足
  • canceled 取消执行 或 根目录没有 .gitlab-ci.yml
  • failed 任务失败, 基本上是 .gitlab-ci.yml 编写有误

上面的任务只是每次提交会在 home 目录下新建 temp_dir

如果想每次提交进行自动打包/重启呢?例如node服务端

只要在 script 字段编写一系列命令即可, 或者执行 shell 脚本

stages:
 - build
# task-1 名字随意,代表一个工作
task-1:
 stage: build
 # 执行脚本, 这段脚本会在服务器执行
 script:
 - cd /home/test
 - git pull
 - npm run build
 - pm2 restart all
 tags: 
 # 标签名字,注册runner时所填写的tag
 - build
 only:
 # 只有 master 分支才会执行
 - master

.gitlab-ci.yml 配置信息非常多,可参考 官方yaml配置

gitlab-runner其他命令

运行 gitlab-runner

gitlab-runner run

查看 gitlab-runner 状态

gitlab-runner status

查看注册列表

gitlab-ci-multi-runner list

删除注册信息

gitlab-ci-multi-runner unregister --name "名称"

最后

gitlab-ci 基本上是可以满足大部分自动化部署场景的,如果想功能强大点的可上 jenkins。

相关推荐

搭建一个20人的办公网络(适用于20多人的小型办公网络环境)

楼主有5台机上网,则需要一个8口路由器,组网方法如下:设备:1、8口路由器一台,其中8口为LAN(局域网)端口,一个WAN(广域网)端口,价格100--400元2、网线N米,这个你自己会看了:)...

笔记本电脑各种参数介绍(笔记本电脑各项参数新手普及知识)

1、CPU:这个主要取决于频率和二级缓存,频率越高、二级缓存越大,速度越快,现在的CPU有三级缓存、四级缓存等,都影响相应速度。2、内存:内存的存取速度取决于接口、颗粒数量多少与储存大小,一般来说,内...

汉字上面带拼音输入法下载(字上面带拼音的输入法是哪个)

使用手机上的拼音输入法打成汉字的方法如下:1.打开手机上的拼音输入法,在输入框中输入汉字的拼音,例如“nihao”。2.根据输入法提示的候选词,选择正确的汉字。例如,如果输入“nihao”,输...

xpsp3安装版系统下载(windowsxpsp3安装教程)

xpsp3纯净版在采用微软封装部署技术的基础上,结合作者的实际工作经验,融合了许多实用的功能。它通过一键分区、一键装系统、自动装驱动、一键设定分辨率,一键填IP,一键Ghost备份(恢复)等一系列...

没有备份的手机数据怎么恢复

手机没有备份恢复数据方法如下1、使用数据线将手机与电脑连接好,在“我的电脑”中可以看到手机的盘符。  2、将手机开启USB调试模式。在手机设置中找到开发者选项,然后点击“开启USB调试模式”。  3、...

电脑怎么激活windows11专业版

win11专业版激活方法有多种,以下提供两种常用的激活方式:方法一:使用激活密钥激活。在win11桌面上右键点击“此电脑”,选择“属性”选项。进入属性页面后,点击“更改产品密钥或升级windows”。...

华为手机助手下载官网(华为手机助手app下载专区)

华为手机助手策略调整,已不支持从应用市场下载手机助手,目前华为手机助手是需要在电脑上下载或更新手机助手到最新版本,https://consumer.huawei.com/cn/support/his...

光纤线断了怎么接(宽带光纤线断了怎么接)

宽带光纤线断了可以重接,具体操作方法如下:1、光纤连接的时候要根据束管内,同色相连,同芯相连,按顺序进行连接,由大到小。一般有三种连接方法,分别是熔接、活动连接和机械连接。2、连接的时候要开剥光缆,抛...

深度操作系统安装教程(深度操作系统安装教程图解)
  • 深度操作系统安装教程(深度操作系统安装教程图解)
  • 深度操作系统安装教程(深度操作系统安装教程图解)
  • 深度操作系统安装教程(深度操作系统安装教程图解)
  • 深度操作系统安装教程(深度操作系统安装教程图解)
win7旗舰版和专业版区别(win7旗舰版跟专业版)

1、功能区别:Win7旗舰版比专业版多了三个功能,分别是Bitlocker、BitlockerToGo和多语言界面; 2、用途区别:旗舰版的功能是所有版本中最全最强大的,占用的系统资源,...

万能连接钥匙(万能wifi连接钥匙下载)

1、首先打开wifi万能钥匙软件,若手机没有开启WLAN,就根据软件提示打开WLAN开关;2、打开WLAN开关后,会显示附近的WiFi,如果知道密码,可点击相应WiFi后点击‘输入密码’连接;3、若不...

雨林木风音乐叫什么(雨林木风是啥)

雨林木风的创始人是陈年鑫先生。陈年鑫先生于1999年创立了雨林木风公司,其初衷是为满足中国市场对高品质、高性能电脑的需求。在陈年鑫先生的领导下,雨林木风以技术创新、产品质量和客户服务为核心价值,不断推...

aics6序列号永久序列号(aics6破解序列号)

关于AICS6这个版本,虽然是比较久远的版本,但是在功能上也是十分全面和强大的,作为一名平面设计师的话,AICS6的现有的功能已经能够应付几乎所有的设计工作了……到底AICC2019的功能是不是...

win7正在启动windows 卡住(win7正在启动windows卡住了 进入安全模式)
  • win7正在启动windows 卡住(win7正在启动windows卡住了 进入安全模式)
  • win7正在启动windows 卡住(win7正在启动windows卡住了 进入安全模式)
  • win7正在启动windows 卡住(win7正在启动windows卡住了 进入安全模式)
  • win7正在启动windows 卡住(win7正在启动windows卡住了 进入安全模式)
手机可以装电脑系统吗(手机可以装电脑系统吗怎么装)

答题公式1:手机可以通过数据线或无线连接的方式给电脑装系统。手机安装系统需要一定的技巧和软件支持,一般需要通过数据线或无线连接的方式与电脑连接,并下载相应的软件和系统文件进行安装。对于大部分手机用户来...