首页 > 其他分享 >自动化部署(Gitlab)

自动化部署(Gitlab)

时间:2023-05-08 11:35:34浏览次数:67  
标签:gitlab script 部署 Gitlab echo runner build 自动化 test

小程序可持续化自动部署

一、安装gitlab-runner

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

windows安装如下:
nodejs的环境变量一定要放到系统变量中!!!

  1. 进入硬盘任意一个目录,下载gitlab-runner.exe文件,根据电脑是64位还是32位下载
  2. cd 到文件所在目录中,进行注册。命令:./gitlab-xxx-xxx.exe register 注意:一定要用管理员权限启动powershell
  3. 根据提示输入URL、token、描述等,其中URL、token在项目中找,具体如图:
    image
  4. 注册中有一步,输入runner执行程序。Please enter the executor:
    选择shell
  5. 至此,runner已经启动好了,可查看状态进行进一步确认。
    a. ./gitlab-xxx-xxx.exe verify 查看runner状态
    alive代表启动状态
    image
    b. ./gitlab-xxx-xxx.exe restart 重启runner
  6. 注册完毕后,回项目中,查看runners是否存在。绿色代表注册成功,红色代表失败
    image
  7. 进入runner安装目录,打开config.toml 文件
    runner官方链接:https://docs.gitlab.com/runner/executors/
    image

二、.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"

三、任务进度

image

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

标签:gitlab,script,部署,Gitlab,echo,runner,build,自动化,test
From: https://www.cnblogs.com/yylls/p/17381220.html

相关文章

  • Node.js躬行记(28)——Cypress自动化测试实践
    最近在研究如何提升项目质量,提炼了许多个用于自测的测试用例,但是每次修改后,都手工测试,成本太高,于是就想到了自动化测试。在一年前已将Cypress集成到管理后台的项目中,不过没有投入到实践中。今天在实践时发现,版本已经到了12.X,当时集成的版本是8.X。一、准备在......
  • Nacos 的单机部署搭建
    Nacos是阿里巴巴的产品,主要用来做微服务的注册中心和配置中心,界面美观,功能强大,在国内非常受欢迎。本篇博客主要介绍如何搭建单机版的Nacos,为编写后续的博客做准备。后面也会介绍Nacos集群的搭建,搭建过程都很简单。官方建议使用2.x的版本,本篇博客将以当前最新的2.2.2版......
  • Weblogic11g安装部署-winserver篇
    目录一、安装weblogic11g1.1找到下载好的weblogic11g1.2打开安装程序wls1033_oepe111150_win32.exe,并完成初始化如下图1.3点击下一步并选择安装路径,这里选择d:\bea11g1.4把“我希望通过MyOracleSupport接收安全更新”方框前的勾去掉,其他选择默认安装即可1.5直到出现如下界面,......
  • Grafana系列---【linux离线部署Grafana】
    linux离线部署Grafana1.下载和解压缩Grafana从https://grafana.com/grafana/download/下载适合您系统的Grafana压缩包。将下载的文件解压缩到您选择的目录中。2.启动Grafana./bin/grafana-server3.访问GrafanaWeb界面打开浏览器,访问http://localhost:3000。默认账号密码是......
  • Prometheus系列---【如何部署Prometheus?】
    如何部署Prometheus?1.下载和解压缩PrometheusServer从https://prometheus.io/download/下载适合您系统的PrometheusServer压缩包。将下载的文件解压缩到您选择的目录中。2.配置PrometheusServer打开prometheus.yml文件,这是PrometheusServer的配置文件。您可以使用文本编......
  • IDEA导入SpringMvc文件-Tomcat部署web的文件
                    ......
  • spring-boot-devtools在idea中热部署
    maven依赖maven依赖文件<dependencies><!--热部署--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>run......
  • Web自动化测试-01
    一、什么是Web自动化测试?让程序代替人工,去验证网页上功能的过程。Web自动化执行的测试用例是手工测试的子集,其优点是测试效率高,缺点是不具备发人的散性思维。二、什么场景适合做Web自动化测试?进行Web自动化测试的前提是,没有频繁的需求变更,且程序版本稳定。在冒烟测试和回归测试......
  • 部署repmgr PG14集群<无autofailover>
    系统环境OS:CentOS7192.168.56.11node1192.168.56.12node2部署操作流程1.系统环境初始化echoredhat|passwdroot--stdinecho-e"192.168.56.11node1">>/etc/hostsecho-e"192.168.56.12node2">>/etc/hostsse......
  • 二进制部署K8S v1.27.x
    1.1系统环境系统:Rockylinux8.7x64cat/etc/hosts----172.16.10.81flyfish81172.16.10.82flyfish82172.16.10.83flyfish83172.16.10.84flyfish84172.16.10.85flyfish85-----本次部署为前三台Rockylinux8.6x64flyfish81做为master部署flyfish82......