自动化部署(Gitlab)
小程序可持续化自动部署
一、安装gitlab-runner
官方地址:https://docs.gitlab.com/runner/install/

windows安装如下:
nodejs的环境变量一定要放到系统变量中!!!
- 进入硬盘任意一个目录,下载gitlab-runner.exe文件,根据电脑是64位还是32位下载
- cd 到文件所在目录中,进行注册。命令:./gitlab-xxx-xxx.exe register 注意:一定要用管理员权限启动powershell
- 根据提示输入URL、token、描述等,其中URL、token在项目中找,具体如图:

- 注册中有一步,输入runner执行程序。Please enter the executor:
选择shell - 至此,runner已经启动好了,可查看状态进行进一步确认。
a. ./gitlab-xxx-xxx.exe verify 查看runner状态
alive代表启动状态

b. ./gitlab-xxx-xxx.exe restart 重启runner - 注册完毕后,回项目中,查看runners是否存在。绿色代表注册成功,红色代表失败

- 进入runner安装目录,打开config.toml 文件
runner官方链接:https://docs.gitlab.com/runner/executors/

二、.gitlab-ci.yml
文件字段详细描述在官方ci。大家可自行查看
# 任务阶段 没有定义的话 默认式test阶段 名称、个数自定义
# 从上到下依次执行,如果某个任务失败了,一般情况下不会继续往下执行
stages:
- load # 安装项目依赖
- test-build # 测试打包
- test-deploy # 测试部署
- prod-build # 生产打包
- prod-deploy # 生产上传部署
# 缓存
# 由于下一个任务执行会把上一个任务产物给删掉,比如node_modules
# 此时cache作用就体现出来了 将需要的文件填写进去
cache:
paths:
- node_modules
- dist
load-job: # 任务名称(名称自定义)
stage: load # 上面stages定义的步骤1
only: # 限制条件 仅develop、release分支执行job
- develop
- release
script:
- echo "开始 cnpm install" # echo 脚本命令 相当于console.log()
- cnpm i # 安装项目依赖
- echo "结束 cnpm install"
test-build-job:
stage: test-build
only:
- develop
script:
- whoami # 显示当前登录的用户名
- pwd # 当前工作目录
- cnpm -v # 查看cnpm版本
- npm run build:test # 测试打包命令
test-deploy-job:
stage: test-deploy
only:
- develop
script:
- pwd
- echo "开启授权-二维码"
- npm run deploy:test # 测试部署命令
- echo "结束授权-二维码"
prod-build-job:
stage: prod-build
only:
- release
script:
- whoami
- pwd
- cnpm -v
- echo "开始生产环境打包"
- npm run build # 生产部署
- echo "结束生产环境打包"
prod-deploy-job:
stage: prod-deploy
only:
- release
before_script: # script之前执行
- echo "生产环境上传begin"
script:
- pwd
- npm run deploy:prod # 生产打包
after_script: # script之后执行
- echo "生产环境上传end"
三、任务进度

其中,每个阶段可点进去查看详细日志信息。代表成功,×代表失败(进入具体阶段查看报错日志信息)
自动化部署(Gitlab)的更多相关文章
- SpringBoot项目 使用Jenkins进行自动化部署 (gitLab管理项目)_
1.部署服务器创建好对应文件夹和启动脚本 创建文件夹 mkdir /wdcloud/app/rps/rps-module-category 创建启动脚本 cd /wdcloud/app/rps/rps ...
- jenkins自动化部署gitlab上maven程序
部署流程:将代码从gitlab上拉取下来,使用maven打包,将打包后的jar通过ssh发送到服务器上,运行jar程序 注意:本文需要安装一些插件Publish Over SSH 1.新建任务 在主页 ...
- SpringBoot项目 使用Jenkins进行自动化部署 gitlab打tag 生产测试环境使用 含配置中心
脚本 node('master') { def mvnHome = tool 'maven11-free' def gitUrl = "http://gitlab.wdcloud.cc:10 ...
- 使用 GitHub / GitLab 的 Webhooks 进行网站自动化部署
老早就想写这个话题了,今天正好有机会研究了一下 git 的自动化部署.最终做到的效果就是,每当有新的 commit push 到 master 分支的时候,就自动在测试/生产服务器上进行 git pu ...
- Linux下的Jenkins+Tomcat+Maven+Gitlab+Shell环境的搭建使用(jenkins自动化部署)
jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...
- gitlab与jenkins的自动化部署(通过webhook与ansilble)
gitlab与jenkins的自动化部署(通过webhook与ansilble) 1.部署介绍 gitlab服务器:192.168.1.49:80jenkins服务器:192.168.1.49:818 ...
- CentOS 7 Gitlab+Jenkins持续集成+自动化部署
基于上次的环境<部署Gitlab+Jenkins持续集成环境> 来实现自动化部署 系统管理–>插件管理–>安装以下插件: Credentials Plugin(默认已经安装) ...
- 【Devops】【docker】【CI/CD】3.Jenkins+GitLab+docker+springboot 实现自动化部署
==================================================================================================== ...
- 持续集成+自动化部署[代码流水线管理及Jenkins和gitlab集成]
转载:https://www.abcdocker.com/abcdocker/2065 一.代码流水线管理 Pipeline名词顾名思义就是流水线的意思,因为公司可能会有很多项目.如果使用jenkin ...
- 【开发工具】Jenkins+Gitlab实现自动化部署
我在尝试在容器中安装Jenkins时,初衷是希望使用docker in docker 的模式来实现Jenkins slave容器按需创建.在实现的时候需要在Jenkins 中安装Kubernetes插 ...
随机推荐
- typescript 的动态引入组件
环境: Arco Pro + Vue3 vite自身对动态字符串形式的组件引入是有限制的, 以下写法会报错 官方文档中也对此有做说明, 只能通过固定形式去引用 以下形式不会报错, 但这种固定格式的局限 ...
- arpspoof、driftnet工具使用
一.arpspoof.driftnet工具安装: 在kali liux中: 安装命令:apt install dsniff apt install driftnet 二.使用arpspoof ...
- 使用php将字典格式的字符串转为array
例: 原字符串为 $a = '{"errcode":0,"errmsg":"ok","msgid":1472671765 ...
- (转载)一篇文章详解python的字符编码问题
一篇文章详解python的字符编码问题 一:什么是编码 将明文转换为计算机可以识别的编码文本称为"编码".反之从计算机可识别的编码文本转回为明文为"解码". ...
- 使用VSCode调试C#时,Console.ReadLine()弹出命令框调试
原文链接:https://blog.csdn.net/qq_29503199/article/details/88351498 要在调试时读取输入,可以在 launch.json 中使用配置中的 ...
- ASP.NET Core - 配置系统之自定义配置提供程序
4. 自定义配置提供程序 在 .NET Core 配置系统中封装一个配置提供程序关键在于提供相应的 IconfigurationSource 实现和 IConfigurationProvider 接口 ...
- Linux & 标准C语言学习 <DAY12_1>
10.函数指针 函数名就是一个地址(整数),代表了该函数在代码段中的位置 函数指针就是专门指向某种函数的指针,它里面存储的是该函数在代码段中的位置(函数名) ...
- 认识流媒体协议,从 RTSP 协议解析开始!
RTSP 是 Internet 协议规范,是 TCP/IP 协议体系中的一个应用层协议级网络通信系统.专为娱乐(如音频和视频)和通信系统的使用,以控制流媒体服务器.该协议用于在端点之间建立和控制媒体会 ...
- DevOps 在未来将如何演进?丨行业观察
自2007年 DevOps 这一概念推出以来,越来越多企业开始将开发和运维团队结合在一起,以加快部署速度,提高软件开发生命周期的效率和协作.但是,诸多因素都会对 DevOps 是否成功产生影响,例如组 ...
- 关于在vue3中使用vuex与在vue2中使用vuex的区别
首先vue2中vuex版本是4.x以下,vue3中使用vuex需要保证vuex版本在4.x及以上. 以下说一说怎么在vue3中使用vuex,与vue2大同小异 首先在views新建一个store文件夹 ...