gitlab
, 请直接跳到第6条。CI/CD
咱们平时会使用一些CI/CD
持续集成, 好比上传到gitlab
上的dev
分支代码每次更新, 但这些功能可不是CI
来作的, 咱们都会直接进行打包并发布到测试环境, 那么接下来咱们就来配置这个功能模块。html
gitlab-runner
执行构建任务是很消耗性能的, 因此gitlab
单独使用gitlab-runner
这种形式来独立的构建项目, 因此其实gitlab
提供了一个接口, 能够对应多个runner
, 不一样的项目能够用不一样的runner
构建。vue
docker pull gitlab/gitlab-runner
docker run -d --name gitlab-runner --restart always \ -v ~/gitlab-runner/config:/etc/gitlab-runner \ -v /var/run/docker.sock:/var/run/docker.sock \ gitlab/gitlab-runner
上面是对docker
容器里面的配置作一个映射。node
docker exec -it 容器id gitlab-runner register
意思就是我要去某个镜像内部执行gitlab-runner register
git
上面的容器id用下面的命令查看docker
docker container ps -a
注册命令执行的时候会让咱们填写Url
与Token
,这个参数在图里找:shell
或者打开一个项目:数据库
runner
。node
之类的了, 不用shell
, 直接选用docker
。runner
咱们先来查看一下被激活的runner
。
这里的tag就是刚才初始化时候设置的。vim
默认runner
docker exec -it gitlab_lulu bash vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
如今能够正确访问到了:后端
yml
文件试一下随便建一个vue
工程api
image: node cache: paths: - node_modules/ install: tags: - tag1 script: - echo 1111
gitlab
模块这个库挺少用的, 文档也都是英文的, 一会会讲如何学习它。
yarn add @gitbeaker/node
gitlab
模块nest g controller modules/gitlab nest g service modules/gitlab
/share/src/modules/gitlab/gitlab.controller.ts
import { Controller, Get } from '@nestjs/common'; import { GitlabService } from './gitlab.service'; @Controller('gitlab') export class GitlabController { constructor( private readonly gitlabService: GitlabService ) { } @Get() getTags() { return this.gitlabService.getTags(); } }
/share/src/modules/gitlab/gitlab.service.ts
import { Injectable } from '@nestjs/common'; @Injectable() export class GitlabService { getTags() { return 'tags列表' } }
效果以下:
@gitbeaker/node
操做gitlab
: 获取全部的tag
/share/src/modules/gitlab/gitlab.service.ts
token
有了token
才能有权利访问一些项目, 把权限都开启, 而且设置失效时间。
复制你的令牌放到项目中。
new
一个api实例@gitbeaker/node
在这里搜索你想要的关键词, api文档
好比这个新建标签
查看他的参数设置, options
里面通常就是要传递的参数。
这个ref能够理解为惟一标签, 因此它能够是commitID
:
接下来咱们要进行数据库的相关操做了, 若是你没作事后端相关项目可要仔细看了, 里面涉及到typeorm如何处理多对多与多对一等关系, 我会把我遇到的坑与心得体会所有展现给你, 但愿和你一块儿进步。