关于前端:写给初用Nestj做项目的你第二篇-配置gitlabrunner操作gitlab

46次阅读

共计 2076 个字符,预计需要花费 6 分钟才能阅读完成。

写给初用 Nestj 做我的项目的你(第二篇: 配置 gitlab-runner& 操作 gitlab)

如果不想本人搭建gitlab, 请间接跳到第 6 条。

一. CI/CD

     咱们平时会应用一些 CI/CD 继续集成, 比方上传到 gitlab 上的 dev 分支代码每次更新, 但这些性能可不是 CI 来做的, 咱们都会间接进行打包并公布到测试环境, 那么接下来咱们就来配置这个功能模块。

二. gitlab-runner

     执行构建工作是很耗费性能的, 所以 gitlab 独自应用 gitlab-runner 这种模式来独立的构建我的项目, 所以其实 gitlab 提供了一个接口, 能够对应多个 runner, 不同的我的项目能够用不同的runner 构建。

第一步: 拉取
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 容器外面的配置做一个映射。

第三步: 注册
docker exec -it 容器 id gitlab-runner register

意思就是我要去某个镜像外部执行gitlab-runner register

下面的容器 id 用上面的命令查看

docker container ps -a 

注册填写信息

注册命令执行的时候会让咱们填写 UrlToken, 这个参数在图里找:

或者关上一个我的项目:

  • 设置标签

    你能够了解成是设置一个别名, 不便咱们之后治理与调用这个runner
  • 设置环境

    这里就不配置了 node 之类的了, 不必shell, 间接选用docker
  • 设置默认镜像

三. 配置runner

咱们先来查看一下被激活的 runner

这里的 tag 就是方才初始化时候设置的。

设置其为 默认 runner

四. 拉取我的项目的地址进行校对(配置 gitlab)

进入咱们的容器内
docker exec -it gitlab_lulu bash 

vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

当初能够正确拜访到了:

五. 上传一个 yml 文件试一下

轻易建一个 vue 工程

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

在这里搜寻你想要的关键词, api 文档

第二步: 点进去找你想要的操作

比方这个新建标签

第三步: 个别这个操作名就是办法名

查看他的参数设置, options外面个别就是要传递的参数。

第四步: 调用办法

这个 ref 能够了解为惟一标签, 所以它能够是commitID:

第五步: 查看后果

end.

     接下来咱们要进行数据库的相干操作了, 如果你没做过后端相干我的项目可要认真看了, 外面波及到 typeorm 如何解决多对多与多对一等关系, 我会把我遇到的坑与心得体会全副展现给你, 心愿和你一起提高。

正文完
 0