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
注册命令执行的时候会让我们填写Url
与Token
,这个参数在图里找:
或者打开一个项目:
runner
。node
之类的了, 不用shell
, 直接选用docker
。runner
我们先来查看一下被激活的runner
。
这里的tag就是刚才初始化时候设置的。
默认runner
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文档
比如这个新建标签
查看他的参数设置, options
里面一般就是要传递的参数。
这个ref可以理解为唯一标签, 所以它可以是commitID
:
???? 接下来我们要进行数据库的相关操作了, 如果你没做过后端相关项目可要仔细看了, 里面涉及到typeorm如何处理多对多与多对一等关系, 我会把我遇到的坑与心得体会全部展示给你, 希望和你一起进步。
在使用dreamweaver或者frontpage来制作HTML网页时,我们有可能会遇到这样的问题...
序号 中文说明 标记语法 备注 1 背景颜色 {background-color:数值} 2 背景图片 {...
Gird布局与Flex布局有一定的相似性,都是对容器的内部项目进行划分。 Flex布局是...
1.我向你夸下海口,心为你滴成琥珀,冷却以后,千万年后爱通透依旧。 2.一朝春...
实现功能: 将桌面图片拖入指定地方,生成相框和相关信息。 相框需要自己配置,...
需求催动此篇博客的诞生 项目背景 之前也没写过小程序但是看过之后都是现成的api...
作者:小傅哥 博客: https://bugstack.cn 沉淀、分享、成长,让自己和他人都能...
突然想到的方法,来试试吧 1.页面布局 canvas id=canva width=500px height=300p...
前言 何为插件(Plugin)?专注处理 webpack 在编译过程中的某个特定的任务的功能...
我们在网页中经常需要控制一些元素的隐藏、透明等属性 style .d1{ display: none...