「 DEVOPS 」 十二月 10, 2023

SonarQube 项目总览状态导出工具

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

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

  • Size 为 L 且 Duplications 在 5% - 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[*].run 的 run 关键字时,会在 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.

与 Jenkins、TeamCity、Travis CI 类似,GitHub Actions 是 GitHub 提供的一个持续集成平台。

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