![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
gitlab
文章平均质量分 79
最美dee时光
good good study
展开
-
基于manifest文件批量将coding的仓库导入gitlab中
前面有讲过通过manifest清单导入项目到gitlab中,但是实际的操作是不同gitlab实例之间的操作,然而对于在不同gitlab实例的repo迁移而言,显然会更合适。原创 2024-05-23 17:35:11 · 663 阅读 · 0 评论 -
gitlab artifacts过期时间查看和清理
删除早于特定日期的作业artifacts(保留job_log)(整个实例)删除早于特定日期的作业artifacts(保留job_log)(整个项目)从特定日期前完成的作业中删除作业artifacts和日志(整个实例)从特定日期前完成的作业中删除作业artifacts和日志(整个项目)在数据库中也可以查看artifacts的过期时间。查看单个项目的前50个artifacts文件大小。查看单个项目的前5个artifacts文件信息。查看artifacts文件大小的前20个项目。原创 2024-05-19 22:42:52 · 1211 阅读 · 0 评论 -
GitLab集成DingTalk(超级详细)
极狐GitLab集成钉钉,可以在群组中@机器人或者直接与机器人创建一对一的聊天框发送消息。当您未将钉钉账户和极狐GitLab 账户进行绑定时,机器人会提示您还未进行绑定,并会在与您的一对一聊天框中发送一个绑定链接,您需要点击链接完成绑定。原创 2024-05-19 22:39:43 · 1242 阅读 · 0 评论 -
在gitlab中使用gitlab-sshd替换ssh服务
在gitlab15.9之后,gitlab-sshd成为了gitlab的服务组件之一,从而使得open-ssh不再是必需品,本篇主要讲配置。原创 2024-01-18 20:37:45 · 801 阅读 · 0 评论 -
通过manifest清单导入项目到gitlab中
AOSP示例文件:https://android.googlesource.com/platform/manifest/+/2d6f081a3b05d8ef7a2b1b52b0d536b2b74feab4/default.xml。GitLab 允许根据manifest清单文件(如 Android 存储库使用的清单文件)导入所需的 Git 存储库。从gitlab 11.2引入此功能。原创 2024-01-18 20:32:44 · 1118 阅读 · 0 评论 -
gitlab高级功能之Kubernetes Agent介绍
GitLab Agent for Kubernetes 是一个活跃的集群内组件,用于解决GitLabKubernetes 集成任务;同时 GitLab Kubernetes Agent 是 gitLab 的组件之一,从而可以实现GiLab CI/CD 访问 k8s 集群的能力。GitLab Agent for Kubernetes 由两个通信部分实现:在集群中运行的 GitLab 代理 (agentk) 和在 GitLab 端运行的 GitLab 代理服务器 (gitlab-kas)。原创 2024-01-04 10:27:50 · 1670 阅读 · 5 评论 -
在k8s中使用cert-manager部署gitlab集群
写在前面的话:前面有详细的分享过,不过当时使用gitlab的访问证书是阿里云上免费的ssl证书,今天特意专门介绍下另外一种基于cert-manager发布自签证书的方式实现部署gitlab到k8s集群中。原创 2023-12-26 17:41:19 · 1550 阅读 · 0 评论 -
docker-compose 安装gitlab
写在前面的话:docker-compose的文件是通用的,因此可以切换任意版本的gitlab的镜像版本。原创 2023-12-25 16:52:18 · 1587 阅读 · 0 评论 -
在k8s中将gitlab-runner的运行pod调度到指定节点
本篇和前面的。原创 2023-12-25 16:40:37 · 1246 阅读 · 0 评论 -
为gitlab配置自签证书
前面有讲过的操作,本篇为大家介绍下为gitlab配置自签证书。原创 2023-12-22 21:31:04 · 996 阅读 · 0 评论 -
基于飞书的webhook功能实现对gitlab的事件通知并@具体成员(二)
在上一篇详细讲解了基于飞书群智能助手私信成员的姿势,那接下来为大家介绍通过webhook也可以作为私信成员。原创 2023-12-15 16:56:45 · 1697 阅读 · 0 评论 -
基于飞书群智能助手从gitlab中获取信息并@具体成员(一)
参考链接。原创 2023-12-15 16:44:53 · 791 阅读 · 0 评论 -
基于rsync+inotify-tools 同步geo主从节点的artifacts文件
由于某个repo的主从artifacts目录偏差非常严重(主节点100G,从节点10G),为了保证主从目录数据的一致性,通过rsync同步来实现。此外,由于rsync仅仅是同步了主从节点的artifacts文件,其实际并未操作数据库,因为对数据库本身数据不会造成任何影响。Menu -> Admin -> Project -> Select Project-> Gitaly相对路径。该工具可以实时监听某个目录的变化,同时触发rsync进行同步。通过tree、du -sh等命令查看文件数量和大小。原创 2023-12-12 22:18:48 · 414 阅读 · 0 评论 -
gitlab动态流水线
我们希望如果研发在提交代码的时候,如果commit message中有x86_64关键字,则创建一个Release_x86_64的job,如果commit message中有aarch64关键字,则创建一个Release_aarch64的job。该案例使用了include的嵌套方式,也是另类的一种高级用法。ci-test 是公共项目variables.yml 里面存放了群组级下的所有的常用的变量。原创 2023-12-11 23:52:58 · 2060 阅读 · 2 评论 -
在gitlab中使用gitlab-sshd替换ssh服务
参考:https://docs.gitlab.com/ee/administration/operations/gitlab_sshd.html。原创 2023-12-05 22:17:12 · 692 阅读 · 0 评论 -
gitlab高级功能之mirroring - pull mirroring(二)
可以通过在GitLab的仓库中创建拉取镜像,将分支、标签和提交从上游仓库复制到您的。与推送镜像不同,拉取镜像按计划从上游(远端)仓库检索更改。为防止镜像与上游仓库分叉,请勿将提交直接推送到下游镜像,改为将提交推送到上游仓库。在一定时间内自动。私有化部署实例可以配置拉取镜像间隔。当管理员强制更新镜像。当 API 调用触发更新时。默认情况下,如果下游拉取镜像上的任何分支或标签与本地仓库不同,GitLab 将停止更新该分支。这可以防止数据丢失。上游仓库中删除的分支和标签不会反映在下游仓库中。原创 2023-12-05 14:47:03 · 1236 阅读 · 0 评论 -
gitlab高级功能之mirroring - push mirroring(一)
推送镜像是一个下游存储库,用于镜像对上游存储库所做的提交。推送镜像被动接收对上游存储库所做的提交的副本。为防止镜像与上游存储库分流,请勿将提交直接推送到下游镜像。改为将提交推送到上游存储库。原创 2023-12-04 18:03:20 · 1606 阅读 · 0 评论 -
极狐gitlab ci job拉取代码之前执行命令
有时候我们希望可以在检索 Git 代码库和任何 submodules 之前执行一下命令操作,接下来为大家介绍下通过 hooks:pre_get_sources_script 可以满足该场景的使用。此功能 15.6 版本引入,参考 hookspre_get_sources_script。执行结果:方式2:在 runner 中配置参数 pre_get_sources_script参考:Runner Advanced configuration,这里以 docker runner executer 为例原创 2023-12-04 10:46:32 · 236 阅读 · 0 评论 -
使用trigger-forward跨流水线传递参数
默认情况下,只有yaml定义的变量被传递给下游管道,使用forward关键字,现在可以传递它手动管道变量下游管道。forward:yaml_variables是一个已经存在的行为,默认为true。当为true时,将传递给yaml定义的变量到下游管道。forward:pipeline_variables是一个新特性,默认为false。当为true时,手动管道变量被传递给下游管道。原创 2023-12-02 22:13:22 · 220 阅读 · 0 评论 -
gitlab高级功能之容器镜像仓库
今天给大家介绍一个gitlab的高级功能 - Container Registry,该功能可以实现docker镜像的仓库功能,将gitlab上的代码仓的代码通过docker构建后并推入到容器仓库中,好处就是无需再额外部署一套docker仓库。原创 2023-12-02 21:49:57 · 1209 阅读 · 0 评论 -
gitlab高级功能之CI/CD组件 - 实践(二)
上一篇主要讲解了CI/CD组件的,看起来稍微有一点枯燥,那么接下来给大家演示下如何使用。原创 2023-12-01 17:29:13 · 676 阅读 · 0 评论 -
gitlab高级功能之CI/CD组件 - 原理介绍(一)
引入16.0,16.6正式使用CI/CD 组件是可重用的单管道配置单元,使用它们来组成整个管道配置或较大管道的一小部分;CI/CD组件可以选择接受输入参数;CI/CD 组件与使用 include 关键字添加的其他类型的配置类似,但具有以下几个优点:组件可以以特定版本发布和使用;多个组件可以组合在同一个项目中并使用单个标签发布;组件可以在 CI/CD 目录中找到。原创 2023-12-01 17:19:47 · 840 阅读 · 0 评论 -
在gitlab上使用server_hooks -实例级和项目级
当我们初始化一个项目之后,.git 目录下有一个 hooks 目录,可以看到上图左侧有很多执行任务,比如 pre-commit,代表在运行这些命令之后或之前,会进行一些校验和检测来执行相应任务。与许多其他版本控制系统一样,Git 有一种方法可以在发生某些重要操作时,触发自定义脚本,即 Git Hook(Git 钩子)。对于配置单个仓库的server hooks也是需要开启全局的配置,否则会导致脚本在某个repo的相对路径下不会生效。该脚本的作用是规范gitlab提交的信息。原创 2023-11-30 19:41:54 · 1824 阅读 · 0 评论 -
基于gitlab的webhook集成jenkins,并在gitlab流水线中展示jenkins的job状态信息
updateGitlabCommitStatus 可以将jenkins的构建信息写到gitlab的流水线中。可以是用户名和密码,也可以是个人token,建议两个都保存下即可,后面会有用到。此处需要gitlab的令牌token,并需要通过`Test Connection。可以在gitlab的pipeline上看到jenkins的构建信息。选择你需要配置的项目 - 设置 - webhooks - 添加。将pipeline文件里面的信息粘贴进去。,因为我们可以创建一个mr来触发。由于jenkins上的。原创 2023-11-30 18:58:42 · 1076 阅读 · 0 评论 -
在CI/CD中使用submodule
该方法并不需要对submodule文件进行调整,但是需要对ci文件进行比较大的调整。另外需要注意的是GITLABUSERNAME和GITLAB_TOKEN都已经保存到变量中。该方法并不需要对submodule文件进行调整,只需要对ci文件进行稍微的调整即可。另外就是里面的修改涉及到了对ssh端口是标准方式和非标准方式的修改。该方法并不需要对ci文件进行大的调整,只需要添加。客户的submodule使用的是ssh协议拉取。但是需要修改submodule文件。修改submodule文件。原创 2023-11-28 11:05:22 · 810 阅读 · 0 评论 -
如何在gitlab上使用hooks
与许多其他版本控制系统一样,Git 有一种方法可以在发生某些重要操作时,触发自定义脚本,即 Git Hook(Git 钩子)。当我们初始化一个项目之后,.git 目录下有一个 hooks 目录,可以看到上图左侧有很多执行任务,比如 pre-commit,代表在运行这些命令之后或之前,会进行一些校验和检测来执行相应任务。Git Hook 分为两部分:本地和远程,如下图所示:原创 2023-11-26 20:34:08 · 1066 阅读 · 0 评论 -
基于helm的方式在k8s集群中部署gitlab - 备份恢复(二)
接上一篇,本篇重点介绍在k8s集群中备份gitlab的数据,并在虚拟机上部署相同版本的gitlab,然后将备份的数据进行还原恢复。原创 2023-11-26 19:55:18 · 1063 阅读 · 0 评论 -
基于helm的方式在k8s集群中部署gitlab - 升级(三)
接上一篇,本篇重点对gitlab在k8s集群中进行升级。原创 2023-11-26 20:21:37 · 769 阅读 · 0 评论 -
基于helm的方式在k8s集群中部署gitlab - 部署(一)
由于将gitlab-nginx-ingress-controller的暴露端口的方式修改成了NodePort,因为ssh的端口也需要调整(查看下gitlab-nginx-ingress-controller ssh的暴露端口),否则会无法克隆。这样的runner存在一个问题就是由于使用的是nodeport的暴露方式,因为runner中的gitlaburl需要加端口,同时在runner进行克隆的时候也需要加端口,因为在部署一个nginx,作为一个转发。修改内核参数 - /etc/sysctl.conf。原创 2023-11-26 19:30:59 · 1572 阅读 · 0 评论