自动化部署(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插 ...
随机推荐
- Weblogic禁用不安全的http请求
参考链接: https://blog.csdn.net/linfanhehe/article/details/78470733
- Unity ContentSizeFitter组件
Content Size Fitter组件,它可以动态改变物体的宽高,但它有一个非常需要注意的点就是,它不是即时刷新,是帧末刷新,这个特性如果没注意会出现一个问题 就是你拿到加了这个组件的宽高本不是你 ...
- conda Installing on Linux - 搬运
转自:Installing on Linux - conda 23.1.0 documentation Installing on Linux Download the installer: Min ...
- docker学习随笔
总结自https://zhuanlan.zhihu.com/p/187505981 Linux内核提供了Namespace技术来隔离PID/IPC/网络资源等,还提供了Control Group(cg ...
- bytes转化为字典
import requestsurl='https://su.ke.com/api/listtop?type=resblock&resblock_id=2311062653496924& ...
- Oracle coalesce函数 用于选取不为空的字段值
coalesce(A,B) 若A为空则值为B 主流数据库系统都支持COALESCE()函数,这个函数主要用来进行空值处理,其参数格式如下: COALESCE ( expression,value1, ...
- 21206134-赵景涛-第三次blog总结
一.前言: 本次Blog是对之前发布的PTA题目集的总结性Blog,这几次的作业题量,难度都不大,但都趋近于完成一整个系统,而非只实现部分的功能.题目集九.十也不在给出类图,而是要求自己设计.我认为这 ...
- 《MySQL是怎样运行的》第二章小结
- Android工程接入UnityLibrary工程
目录结构 Unity工程指UnityLibrary目录下文件: 安卓工程指app目录下文件: 整体指App目录下不包括app和UnityLibrary: 1.Unity打包时勾选导出安卓工程: 拷贝g ...
- 存算分离实践:JuiceFS 在中国电信日均 PB 级数据场景的应用
01- 大数据运营的挑战 & 升级思考 大数据运营面临的挑战 中国电信大数据集群每日数据量庞大,单个业务单日量级可达到 PB 级别,且存在大量过期数据(冷数据).冗余数据,存储压力大:每个省公 ...