DEVOPS 十二月 10, 2023

SonarQube 项目总览状态导出工具

文章字数 3.8k 阅读约需 3 mins.

随着 SonarQube 上的项目越来越多,我们希望能够对这些项目按照一定的指标进行筛选,比如:

  • SizeLDuplications5% - 10% 之间的项目
  • Coverage ...
查看全文

DEVOPS 九月 24, 2023

Sonar Quality Gates

文章字数 7.5k 阅读约需 7 mins.

SonarQube 简称 Sonar,是一个能够帮助我们编写整洁、安全代码的平台。通过 SonarScanner 对代码进行扫描,之后将扫描结果展现,如 https://next.sonarqube.com/sonarqube/projects

Quality Gates 可译为质量门禁,能够检查新增代码是否满足其中的规则要求,以判断新代码是否达到合并要求。Sonar 中有开箱即用的内置质量门禁规则,也可自定义:

在项目总览页中,可以看到质量门禁状态:

通过质量门禁,可以优先保证新增...

查看全文

DEVOPS 三月 26, 2023

GitHub Actions 再战

文章字数 6.9k 阅读约需 6 mins.

接续 GitHub Actions 实战 ,继续介绍一些持续集成环境常用功能的实现方式:

构建命令中,可能有切换路径的需要。

每次使用 jobs..steps[*].runrun 关键字时,会在 runner 环境中使用一个新的进程和 shell。所以当需要切换路径时,可以通过如下三种方式:

  1. 单行命令:
     - name: Install Dependencies
     - run: cd themes/obsidian && npm install
     - run: npm install...
查看全文

DEVOPS 三月 13, 2022

简书阅读量报告

文章字数 2.6k 阅读约需 2 mins.

博客 上的文章,会同步发布到 公众号 和 简书 平台上,简书对 markdown 格式的支持、展现效果,以及文章的 SEO 和阅读量都非常不错,在有点赞和评论时,app 也会有即时通知。但当我们想知道自己的哪些文章阅读量最多,哪些文章阅读量增长较快以及近期哪些文章的阅读量有增加时,无论官网还是官方 app 上都缺少可用的工具。

我们可以借助一些简单的、免费的工具和脚本,来实现一个《简书阅读量报告》。

先来看下效果:

上面消息,为使用 NodeJS 脚本,在 AWS 上定时执行,并将 markdown...

查看全文

DEVOPS 三月 06, 2022

钉钉自定义机器人

文章字数 4.7k 阅读约需 4 mins.

hubot 起接触到聊天机器人,其使用场景还是非常丰富的:

  1. 群管理:新人入群欢迎、关键字自动回复、同类消息汇总 ……
  2. 结合 SaaS 服务:翻译、生成二维码、编解码、智能客服 ……
  3. 定时通知:天气预报、股市行情、监控信息 ……

简单归纳一下,需要机器人具备的能力主要包括:主动发送消息(单聊、群聊)和 被动响应消息(单聊、群聊)。

相关的开源实现也有很多,如上面提到的 hubot 和其与各种聊天工具的 适配、基于微信的 chatbot —— Wechaty 等。

不过因为众所周知的原因,国...

查看全文

DEVOPS 一月 02, 2022

使用 easyctl 在多主机上并行执行脚本

文章字数 5.3k 阅读约需 5 mins.

当有大批量主机,需要进行类似的操作时,推荐一个不需要配置 SSH 免密登录 的简单工具 —— easyctl

上面这个场景,主要使用到了 easyctl 中的 执行指令集 - 跨主机并行执行shell,easyctl 提供的其他功能及使用方式,可见 源码 或文档中的其他部分。

因为 跨主机并行执行 shell 这个功能实际就是通过 ssh 连接到各主机,并行执行指定命令,并将最终直接结果汇总,所以理论上只要支持 ssh 的环境,都可以使用 easyctl 的这个功能,比如 Mac,甚至 Windows...

查看全文

DEVOPS 十二月 20, 2020

TeamCity Kotlin DSL

文章字数 13k 阅读约需 12 mins.

将持续集成环境的配置代码化(Configuration as code)有很多好处:

  1. 可借助版本控制系统(VCS)对配置进行管理
  2. 很容易对配置变更进行审查(review)
  3. 提高配置的可移植性
  4. 不同的分支可以执行不同的构建,甚至是未合并的请求分支以及历史构建

目前常见的持续集成服务都提供(甚至仅有)代码化配置方式,如:

  1. Travis CI.travis.yml
  2. GitHub Actions 的放在代码仓库 .github/workflows 路径下的 workflow yml 文件
  3. GitLab...
查看全文

DEVOPS 八月 23, 2020

子网掩码是神马

文章字数 2.7k 阅读约需 2 mins.

在手动配置 IPv4 地址时,需要配置子网掩码,一般会是 255.255.255.0 这样的形式,或者在 ifconfig 中表示为 netmask 0xffffff00。那么什么是子网掩码?子网掩码为什么一般都是这样的呢?

目前所说的 IP 地址,一般还是指 IPv4 地址。IPv4 是指长度为 32 位(4个字节)的一组数字,为方便记忆及描述,使用十进制表示,并在每个字节之间使用 . 间隔(点分十进制,Dotted decimal notation)。

比如 127.0.0.1 为 IP 地...

查看全文

DEVOPS 三月 27, 2020

GitHub Actions 实战

文章字数 8.6k 阅读约需 8 mins.

JenkinsTeamCityTravis CI 类似,GitHub Actions 是 GitHub 提供的一个持续集成平台。

GitHub Actions Jenkins TeamCity Travis CI
代码仓库平台无关性 ×
构建配置即源码 × ×
无需单独部署 × ×
自动回调 GitHub 构建状态接口 × ×
无需配置敏感信息 × × ×
  • 代码仓库平台无关性:GitHub Actions 绑定 ...
查看全文
0%