5.添加Koa项目的CI脚本,提交到gitlab实现CI&CD

1,219 阅读1分钟

CI&CD

修改.gitlab-ci.yml文件,内容如下:

stages: 
  - build
  - deploy
before_script: 
  - pwd
  - ls
build: 
  script: 
    - yarn
    - tsc
    - "cp -r dist /data/sites/koa-server"
    - "cp -r package.json /data/sites/koa-server"
    - "cp -r node_modules /data/sites/koa-server"
  stage: build

deploy: 
  script: 
    - "[ -d /data/sites/koa-server ] && echo ok || mkdir -p /data/sites/koa-server" ## 用来判断目录是否存在,不存在则创建
    - "pm2 start /data/sites/koa-server/dist/index.js" ## 使用pm2启动服务
  stage: deploy

这个文件比上篇文章中的感觉要复杂多了,我们来看下这里面都有哪些东西。

首先一开始,定义了stages,这个用来定义你的CI执行的时候,有几个stage,这里我们定义了两个stage,一个是build,一个是deploy。这个应该很好理解,先构建然后部署,对吧。期中build和deploy是stage的名称,这个是自定义的。

接下来是before_script,在这里定义的所有script,会在stages中的所有script运行之前执行。

接下来,我们定义了两个job,注意,这里build和deploy名称不需要和上面的stage相同。

在job定义的时候,需要使用stage指定关联的stage是哪个。

简单来说就是,你先定义stage,然后定义job,然后在job指定stage,这样在运行的时候,才知道每个stage需要运行哪些job。

然后看下运行的效果:

效果

写好ci文件之后,提交到gitlab服务器。看下运行效果:

等这里完成之后,打开浏览器访问: mygitlab.com:3000/users

结果: