前端实现gitlab runner 自动化部署项目

前言:

文章偏向于个人记录,并没有太多记录gitlab runner的一些运行原理,并且尝试阶段使用的是window的电脑来作为gitlab runner的打包终端

安装gitlab runner

这里我使用的是window的系统,也是因为用于尝试,所以就直接安装在本机了,gitlab runner 下载链接,选择对应的系统,我这里选择的是window,官方下载需要科学上网

image.png

下载完成之后,使用管理员运行cmd命令行,然后到刚刚下载的位置中,使用install 进行安装,然后start启动,看到下面这样的提示就证明启动成功了

image.png

注册gitlab runner

  1. 在gitlab的项目中打开settingsCI/CDRUNNERS 找到下图的内容

image.png
2. 在安装好的gitlab-runner上进行注册
执行命令 register填写上面再gitlab项目中对应的url跟token注意tags的值很重要,要认真填写,executor 执行者我们选择shell

image.png
3. 回到gitlab的项目中,settings–CI/CD–Runners的位置上,看到下面的runner就算完全注册成功了

image.png

如果安装注册完成之后,显示的不是绿点,而是灰色的感叹号,可以使用 gitlab-runner verify 命令进行激活

编写自动化发布脚本

在项目中新建.gitlab-ci.yml的文件,然后进行编写,由于我这里部署到服务器的工具是winSCP,所以发布时候的脚本是根本winSCP工具的命令行进行编写的

```
stages: # 分段
  - install
  - build
  - deploy

cache: # 缓存
  paths:
    - node_modules
    - dist  # 这个缓存要加上,因为每个job在开始的时候,会把上个job新增的内存删掉,不加上的话,发布的时候,打包出来的dist文件夹在发布阶段就被删除掉了

install-job:
  only:
    refs:
      - master
  tags:
    - test
  stage: install
  script:
    - npm install


build-job:
  tags:
    - test
  stage: build
  script:
    - npm run build

deploy-job:
  only:
    refs:
      - master
  tags:
    - test
  stage: deploy
  script:
    - WinSCP.exe /console /command "option batch continue" "option confirm off" "open ftp://用户名:密码@IP地址跟端口" "option transfer binary" "rm *" "synchronize remote ./dist/" "exit"
 

代码提交,自动部署

代码提交之后,gitlab会检测到有自动化发布的文件,就会去执行,这个时候在gitlab的CI/CD中能看到

image.png

这样就算全部部署成功了,之后每次提交都会自动打包部署,需要了解更加清晰跟全面的小伙伴,可以去看这个文章,写的很详细参考文章

报错记录

(http://code.xdeas.com.cn/zhengyan/testwebcicd/-/jobs/10519#L8) ERROR: Job failed (system failure): prepare environment: failed to start process: exec: “pwsh”: executable file not found in %PATH%. Check https://docs.gitlab.com/runner/shells/index.html#shell-profile-loading for more information

这是因为运行脚本的executor不正确,需要把指定一下,打开我们安装gitlab runner的文件夹,有一个config.toml的文件,打开之后吧shell的位置修改为powerShell

image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值