title author date CreateTime categories
ASP.NET Core 连接 GitLab 与 MatterMost 打造 devops 工具
lindexi
2019-10-31 8:51:2 +0800
2019-08-03 17:18:48 +0800
git

在现代化开发工具链里面就包含了自动化的通讯工具,而日志写代码我是推到 Gitlab 平台上,我今天听了郭锐大佬的分享之后,感觉我现在的团队的自动化做的远远不够。我在他的课程上学到的最重要一句话就是做工具不是从零到一最难,有很多非常厉害好用的工具最后都没用上的原因是没有加入到开发链条上。所以我用最简单的工具做实践,在 Gitlab 上的代码审查每次都需要自己手动将代码审查链接发给对应的审查者,这样的效率很低,于是我就打通了通讯工具和代码平台之间的联系,开始一步步打造适合自己团队的工具

这只是一个简单的工具,下面让我告诉大家做出来的效果

让 Gitlab 的 MergeRequest 每次有变更的时候,就在 MatterMost 发送信息给审查者催他进行代码审查

我现在团队使用的通讯工具主要是 MatterMost 工具,因为这个工具首先是开源的,第二是支持很多的定制和很多的插件。推荐小伙伴了解一下 MatterMost 这个工具

效果

我在 MatterMost 创建了代码审查频道,这个频道里面将会被机器人发送很多代码审查链接

之前都是纯手工发送链接,同时需要手工催审查者审查

而用上了工具的效果如下

核心用的技术就是 Gitlab 的 WebHook 和 dotnet core 集成到 Mattermost 聊天工具 两个技术

使用方法

下面让我告诉大家如何使用我这个工具关联你自己的 GitLab 和 Mattermost 工具

首先在 github 将这个仓库的代码通过 git clone 下载,然后使用 VisualStudio 2019 打开哦

git clone git@github.com:dotnet-campus/DotNetGitLabWebHook.git

开发要求如下

  • VisualStudio 2019 打开预览版
  • dotnet core 3.0 预览版

打开 appsettings.json 文件,此时将可以看到 MatterMostCodeReviewUrl 内容,请将他替换为你自己的 MatterMost 链接,获取链接方式如下

dotnet core 集成到 Mattermost 聊天工具 这篇博客有告诉大家如何拿到链接,本文这里就简单说一下

点击主菜单,打开集成页面

点击添加钩子

输入一个标题和选择频道,我这里选择的是之前创建的代码审查频道

现在就可以看到一个链接了

我的链接是 http://127.0.0.1:8065/hooks/xjkyn7ks1pn7xeho1f5ifxqhxh 请将本文下面代码用到的这个链接替换为你自己的

appsettings.json 文件替换一下链接,文件如下

{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*",
"MatterMostCodeReviewUrl": "http://127.0.0.1:8065/hooks/xjkyn7ks1pn7xeho1f5ifxqhxh"
}

然后在 VisualStudio 将代码运行,我在 Program.cs 设置了监听默认的端口是 5006 暂时还没做到配置里面

下一步就是在 Gitlab 的项目上添加 WebHook 了

通过 cmd 命令输入 ipconfig 就可以知道自己的设备的 ip 地址了,理论上如果是内网的 Gitlab 是可以访问到你的地址的,如果不可以就需要找 IT 小伙伴聊聊,弄个服务器玩

先在 GitLab 创建一个个人项目用于测试

点击 Integrations Settings 进行设置

在 URL 填写自己的 IP 拼接的链接

http://你的ip:5006/GitLabWebHook/MergeRequest

勾选 Merge request events 然后取消打开 SSL 和去掉 Push events 然后点击添加

此时尝试新建一个 MergeRequest 测试一下

如果上面步骤没有错,应该可以在 MatterMost 上看到链接

嗯,代码现在还在进行优化,关键是将这个工具用起来,十分欢迎大家加入开发

在 Gitlab 开启 MatterMost 机器人

2019-10-31-ASP.NET-Core-连接-GitLab-与-MatterMost-打造-devops-工具的更多相关文章

  1. ASP.NET Core 连接 GitLab 与 MatterMost 打造 devops 工具

    在现代化开发工具链里面就包含了自动化的通讯工具,而日志写代码我是推到 Gitlab 平台上,我今天听了郭锐大佬的分享之后,感觉我现在的团队的自动化做的远远不够.我在他的课程上学到的最重要一句话就是做工 ...

  2. ASP.NET Core连接字符串中的特殊字符如何处理?多实例如何连接?

    ASP.NET Core连接字符串中的特殊字符,如数据库密码,有时会有特殊字符,如password&1234, 如何直接使用会报连接错误,只需用单引号阔起来即可,如下'password& ...

  3. ASP.NET Core 入门教程 10、ASP.NET Core 日志记录(NLog)入门

    一.前言 1.本教程主要内容 ASP.NET Core + 内置日志组件记录控制台日志 ASP.NET Core + NLog 按天记录本地日志 ASP.NET Core + NLog 将日志按自定义 ...

  4. Asp.Net Core 连接Mysql

    上一篇文章里最后在VS里测试是没有问题的,但是在Windows命令行模式下会报错. 首先用dotnet restore命令的时候会出现error: 然后用dotnet run会出现警告,但是依旧会成功 ...

  5. ASP.NET Core 入门笔记10,ASP.NET Core 中间件(Middleware)入门

    一.前言 1.本教程主要内容 ASP.NET Core 中间件介绍 通过自定义 ASP.NET Core 中间件实现请求验签 2.本教程环境信息 软件/环境 说明 操作系统 Windows 10 SD ...

  6. asp.net core连接sqlserver

    开发环境:win7,vs2017,sqlserver2014 vs上建立一个asp.net core web项目和一个.net core的类库项目DBA 简单起见,在DBA项目中就一个类SqlServ ...

  7. (10)ASP.NET Core 中的环境(Environments:dev, stage, prod)

    1.环境变量配置 ASP.NET Core在应用程序启动时读取环境变量(Properties\launchSettings.json)ASPNETCORE_ENVIRONMENT,并将该值存储在IHo ...

  8. lyc——2019.10.31

    10:判决素数个数 总时间限制: 1000ms 内存限制: 65536kB 描述 输入两个整数X和Y,输出两者之间的素数个数(包括X和Y). 输入 两个整数X和Y(1 <= X,Y <= ...

  9. 处理asp.net core连接mysql的一个异常Sequence contains more than one matching element

    晚上在那里调程序,把mysql.data组件的nuget包进行了更新,前几天好好的程序,开始抛错,跟踪断点发现以下的异常: Unable to connect to any of the specif ...

  10. 牛客CSP-S提高组赛前集训营2 ———— 2019.10.31

    比赛链接 期望得分:100+20+20 实际得分:40+20+30 awa  cccc T1 :基于贪心的思路,然后开始爆搜(雾 那必然是会死的,好吧他就是死了 #include<iostrea ...

随机推荐

  1. 基于Python代码的相关性热力图,VIF共线性诊断图及残差四图的使用及解释

    注:热力图和共线性诊断图易看易解释,这里不再阐述 残差四图(Residuals vs Fitted Plot,Normal Q-Q Plot,Scale-Location Plot,Cook's Di ...

  2. PDF的分割与合并

    1.进行PDF切割 python代码如下: # 20220521 # 1.选择要分割的文件 # 2.选择要保存的位置,分割为多个文件时,可自动用页码命名 # 3.输入要分割的页码,可以是一个范围1-2 ...

  3. AntSK 0.2.3 版本更新:轻松集成 AI 本地离线模型

    大家好,今天和大家分享 AntSK 知识库/智能体项目的最新进展. AntSK 是一个基于 .Net 8.Blazor 及 SemanticKernel 开发的 AI 项目,旨在为开发者提供一个强大的 ...

  4. 使用自签名证书在Docker中部署Asp.Net Core(Abp)项目

    一 编写Dockerfile文件 FROM mcr.microsoft.com/dotnet/aspnet:6.0 COPY / /app WORKDIR /app EXPOSE 80 ENTRYPO ...

  5. hacker守则

    hacker守则 永远不要相信用户的输入,任何输入数据在证明其无害之前,都是有害的 不在任何场景下谈论hacker 学习时,养成做笔记的好习惯 不谈论所有与hack相关的文章/ 电脑 / 电脑不要说 ...

  6. KingabseES-SQL优化_提升子查询

    什么是提升子查询/子链接 SubLink,子查询/子链接,他们的区别:子查询不在表达式中子句,子链接在in/exists表达式中的子句. 若以范围表的方式存在,则是子查询: 若以表达式的存在,则是子连 ...

  7. 关于pwn题的栈平衡中ret的作用

    以nssctf里的where_is_my_shell为例 题目提供了一个system函数,和一个buf数组.数组的栈空间如图所示,这里不讨论怎么解题,只说明payload里的ret的作用. 假设没有r ...

  8. 使用OHOS SDK构建libjpeg-turbo

    参照OHOS IDE和SDK的安装方法配置好开发环境. 从github下载源码. 执行如下命令: git clone --depth=1 https://github.com/libjpeg-turb ...

  9. OpenHarmony Meetup成都站招募令

    OpenHarmony Meetup 城市巡回成都站火热招募中!! 日期:2023 年 10 月 27 日 14:00 地点:电子科技大学(沙河校区)学术交流中心一楼 104 会议室 与 OpenHa ...

  10. MogDB/opengauss触发器简介(1)

    MogDB/opengauss 触发器简介(1) 触发器是对应用动作的响应机制,当应用对一个对象发起 DML 操作时,就会产生一个触发事件(Event).如果该对象上拥有该事件对应的触发器,那么就会检 ...