自动化部署(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插 ...
随机推荐
- 《Unix/Linux系统编程》第九周学习笔记
<Unix/Linux系统编程>第九周学习笔记 信号和中断 中断"是从I/O设备或协处理器发送到CPU的外部请求,它将CPU从正常执行转移 到中断处理.与发送给CPU的中断请求一 ...
- mysql 排序ROW_NUMBER() RANK() DENSE_RANK()
with 月业绩 as (SELECT 年份,月份, ROUND(sum(总业绩)/100000) 业绩 FROM `myj` group by 年份,月份) select * ,ROW_NUMBER ...
- java8-并行计算
java8提供一个fork/join framework,fork/join框架是ExecutorService接口的一个实现,它可以帮助你充分利用你电脑中的多核处理器,它的设计理念是将一个任务分割成 ...
- P4555 [国家集训队]最长双回文串 回文树(回文自动机)简单题
贴个题目链接:https://www.luogu.org/problem/P4555 题目:输入长度为n的串S,求S的最长双回文子串T,即可将T分为两部分X,Y,(∣X∣,∣Y∣≥1)且X和Y都是回文 ...
- LeetcodePractice-数组
目录 88. 合并两个有序数组 思路解析 字节&1. 两数之和 思路解析 腾讯&15. 三数之和 思路解析 18. 四数之和 思路解析 解释下,tmpSum为什么用int不行,需要用i ...
- XCode汇编调试
开启Xcode汇编调试 选中Always Show Disassembly项. XCode -> Debug -> Debug Workflow -> Always Show Dis ...
- 使用 diffusers 训练你自己的 ControlNet 🧨
简介 ControlNet 这个神经网络模型使得用户可以通过施加额外条件,细粒度地控制扩散模型的生成过程.这一技术最初由 Adding Conditional Control to Text-to-I ...
- 系统评价——主成分分析PCA的R语言实现(六)
主成分分析(Principal Component Analysis,PCA),是将多个变量通过线性变换以选出较少个数重要变量的一种多元统计分析方法,起到数据约减和集成的作用.在许多领域的研究与应用中 ...
- 二进制安装Kubernetes(k8s) v1.23.3
声明:微信公众号不支持富文本格式,代码缩进有问题 参考我其他平台文档: https://www.oiox.cn/index.php/archives/90/ https://juejin.cn/pos ...
- python 启动外部程序四种方法
在Python中,可以方便地使用os模块来运行其他脚本或者程序,这样就可以在脚本中直接使用其他脚本或程序提供的功能,而不必再次编写实现该功能的代码.为了更好地控制运行的进程,可以使用win32proc ...