自动化部署(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插 ...
随机推荐
- 使用Navicat查询后 , 在结果处更改数据
参考资料: https://blog.csdn.net/weixin_43786801/article/details/125364995 问题: 在使用Navicat查询是,往往想直接对查询结果进行 ...
- 记一次FusionCompute安装springboot应用过程
客户给了一个地址,登录后发现是FusionCompute 的一个虚拟机,第一次使用,于是过了一下在线帮助文档 ,大概明白了. 因为客户已经创建完了裸机虚拟机,前面的过程我也不会太多关注. 在概要里,可 ...
- binder机制分析
1. binder基本概念 1.1 特点 1)binder 是一种基于C/S通信模式的IPC(Inter_Process Communication). 2)在传输过程中近需要一次copy,为发送添加 ...
- SSRF Server-Side Request Forgery(服务器端请求伪造)
什么是SSRF? 犹如其名,SSRF(Server-Side Request Forgery)服务端请求伪造,攻击者可以控制服务器返回的页面,借用服务器的权限访问无权限的页面. 这是一个允许恶意用户导 ...
- Linux值得收藏的40个命令总结,常用的正则表达式
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} \; 2 查看进程 按内存从大到小排列 PS -e -o "%C : %p : %z : %a& ...
- Java笔记第三弹
Map集合的获取功能 V get(Object key);//根据键获取值 Set<K> keySet();//获取所有键的集合 Collection<K> values(); ...
- 17.explicit关键字
c++提供了关键字explicit,禁止通过构造函数进行的隐式转换.声明为explicit的构造函数不能在隐式转换中使用. [explicit注意] ● explicit用于修饰构造函数,防止隐式转化 ...
- 【绘制分形图案】多重收缩打印机(MRCM)举例
note 2020-08-05搬运 下面的内容来自我的CSDN博客 多重收缩打印机(MRCM)是生成分形图案的一种方法.主要思想还是多次迭代. 每次都是将上一次的输出拿来做线性仿射变换后重新组合在 ...
- Linux报错:audit: backlog limit exceeded(审计:超出积压限制)
Linux报错:audit: backlog limit exceeded(审计:超出积压限制) 系统版本:CentOS Linux release 7.6.1810 (Core) 问题现象:一次巡检 ...
- 原来还能这样看Java线程的状态及转换
作者:小牛呼噜噜 | https://xiaoniuhululu.com 计算机内功.JAVA底层.面试.职业成长相关资料等更多精彩文章在公众号「小牛呼噜噜」 大家好,我是呼噜噜,最近一直在梳理Jav ...