小程序可持续化自动部署

一、安装gitlab-runner

官方地址:https://docs.gitlab.com/runner/install/

windows安装如下:

nodejs的环境变量一定要放到系统变量中!!!

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

  4. 注册中有一步,输入runner执行程序。Please enter the executor:

    选择shell
  5. 至此,runner已经启动好了,可查看状态进行进一步确认。

    a. ./gitlab-xxx-xxx.exe verify 查看runner状态

    alive代表启动状态



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

  7. 进入runner安装目录,打开config.toml 文件

    runner官方链接:https://docs.gitlab.com/runner/executors/

二、.gitlab-ci.yml

文件字段详细描述在官方ci。大家可自行查看

  1. # 任务阶段 没有定义的话 默认式test阶段 名称、个数自定义
  2. # 从上到下依次执行,如果某个任务失败了,一般情况下不会继续往下执行
  3. stages:
  4. - load # 安装项目依赖
  5. - test-build # 测试打包
  6. - test-deploy # 测试部署
  7. - prod-build # 生产打包
  8. - prod-deploy # 生产上传部署
  9. # 缓存
  10. # 由于下一个任务执行会把上一个任务产物给删掉,比如node_modules
  11. # 此时cache作用就体现出来了 将需要的文件填写进去
  12. cache:
  13. paths:
  14. - node_modules
  15. - dist
  16. load-job: # 任务名称(名称自定义)
  17. stage: load # 上面stages定义的步骤1
  18. only: # 限制条件 仅develop、release分支执行job
  19. - develop
  20. - release
  21. script:
  22. - echo "开始 cnpm install" # echo 脚本命令 相当于console.log()
  23. - cnpm i # 安装项目依赖
  24. - echo "结束 cnpm install"
  25. test-build-job:
  26. stage: test-build
  27. only:
  28. - develop
  29. script:
  30. - whoami # 显示当前登录的用户名
  31. - pwd # 当前工作目录
  32. - cnpm -v # 查看cnpm版本
  33. - npm run build:test # 测试打包命令
  34. test-deploy-job:
  35. stage: test-deploy
  36. only:
  37. - develop
  38. script:
  39. - pwd
  40. - echo "开启授权-二维码"
  41. - npm run deploy:test # 测试部署命令
  42. - echo "结束授权-二维码"
  43. prod-build-job:
  44. stage: prod-build
  45. only:
  46. - release
  47. script:
  48. - whoami
  49. - pwd
  50. - cnpm -v
  51. - echo "开始生产环境打包"
  52. - npm run build # 生产部署
  53. - echo "结束生产环境打包"
  54. prod-deploy-job:
  55. stage: prod-deploy
  56. only:
  57. - release
  58. before_script: # script之前执行
  59. - echo "生产环境上传begin"
  60. script:
  61. - pwd
  62. - npm run deploy:prod # 生产打包
  63. after_script: # script之后执行
  64. - echo "生产环境上传end"

三、任务进度

其中,每个阶段可点进去查看详细日志信息。代表成功,×代表失败(进入具体阶段查看报错日志信息)

自动化部署(Gitlab)的更多相关文章

  1. SpringBoot项目 使用Jenkins进行自动化部署 (gitLab管理项目)_

    1.部署服务器创建好对应文件夹和启动脚本 创建文件夹 mkdir /wdcloud/app/rps/rps-module-category 创建启动脚本 cd /wdcloud/app/rps/rps ...

  2. jenkins自动化部署gitlab上maven程序

    部署流程:将代码从gitlab上拉取下来,使用maven打包,将打包后的jar通过ssh发送到服务器上,运行jar程序 注意:本文需要安装一些插件Publish Over SSH 1.新建任务 在主页 ...

  3. SpringBoot项目 使用Jenkins进行自动化部署 gitlab打tag 生产测试环境使用 含配置中心

    脚本 node('master') { def mvnHome = tool 'maven11-free' def gitUrl = "http://gitlab.wdcloud.cc:10 ...

  4. 使用 GitHub / GitLab 的 Webhooks 进行网站自动化部署

    老早就想写这个话题了,今天正好有机会研究了一下 git 的自动化部署.最终做到的效果就是,每当有新的 commit push 到 master 分支的时候,就自动在测试/生产服务器上进行 git pu ...

  5. Linux下的Jenkins+Tomcat+Maven+Gitlab+Shell环境的搭建使用(jenkins自动化部署)

    jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...

  6. gitlab与jenkins的自动化部署(通过webhook与ansilble)

    gitlab与jenkins的自动化部署(通过webhook与ansilble) 1.部署介绍 gitlab服务器:192.168.1.49:80jenkins服务器:192.168.1.49:818 ...

  7. CentOS 7 Gitlab+Jenkins持续集成+自动化部署

    基于上次的环境<部署Gitlab+Jenkins持续集成环境> 来实现自动化部署 系统管理–>插件管理–>安装以下插件: Credentials Plugin(默认已经安装) ...

  8. 【Devops】【docker】【CI/CD】3.Jenkins+GitLab+docker+springboot 实现自动化部署

    ==================================================================================================== ...

  9. 持续集成+自动化部署[代码流水线管理及Jenkins和gitlab集成]

    转载:https://www.abcdocker.com/abcdocker/2065 一.代码流水线管理 Pipeline名词顾名思义就是流水线的意思,因为公司可能会有很多项目.如果使用jenkin ...

  10. 【开发工具】Jenkins+Gitlab实现自动化部署

    我在尝试在容器中安装Jenkins时,初衷是希望使用docker in docker 的模式来实现Jenkins slave容器按需创建.在实现的时候需要在Jenkins 中安装Kubernetes插 ...

随机推荐

  1. Weblogic禁用不安全的http请求

    参考链接: https://blog.csdn.net/linfanhehe/article/details/78470733

  2. Unity ContentSizeFitter组件

    Content Size Fitter组件,它可以动态改变物体的宽高,但它有一个非常需要注意的点就是,它不是即时刷新,是帧末刷新,这个特性如果没注意会出现一个问题 就是你拿到加了这个组件的宽高本不是你 ...

  3. conda Installing on Linux - 搬运

    转自:Installing on Linux - conda 23.1.0 documentation Installing on Linux Download the installer: Min ...

  4. docker学习随笔

    总结自https://zhuanlan.zhihu.com/p/187505981 Linux内核提供了Namespace技术来隔离PID/IPC/网络资源等,还提供了Control Group(cg ...

  5. bytes转化为字典

    import requestsurl='https://su.ke.com/api/listtop?type=resblock&resblock_id=2311062653496924& ...

  6. Oracle coalesce函数 用于选取不为空的字段值

    coalesce(A,B)  若A为空则值为B 主流数据库系统都支持COALESCE()函数,这个函数主要用来进行空值处理,其参数格式如下: COALESCE ( expression,value1, ...

  7. 21206134-赵景涛-第三次blog总结

    一.前言: 本次Blog是对之前发布的PTA题目集的总结性Blog,这几次的作业题量,难度都不大,但都趋近于完成一整个系统,而非只实现部分的功能.题目集九.十也不在给出类图,而是要求自己设计.我认为这 ...

  8. 《MySQL是怎样运行的》第二章小结

  9. Android工程接入UnityLibrary工程

    目录结构 Unity工程指UnityLibrary目录下文件: 安卓工程指app目录下文件: 整体指App目录下不包括app和UnityLibrary: 1.Unity打包时勾选导出安卓工程: 拷贝g ...

  10. 存算分离实践:JuiceFS 在中国电信日均 PB 级数据场景的应用

    01- 大数据运营的挑战 & 升级思考 大数据运营面临的挑战 中国电信大数据集群每日数据量庞大,单个业务单日量级可达到 PB 级别,且存在大量过期数据(冷数据).冗余数据,存储压力大:每个省公 ...