0%

googleapis/release-please 可以在根据 Conventional Commit messages 格式的 git commit 生成 changelog 的同时,更新版本号,生成 github pull request,打 tag 以及 GitHub release 为一体的工具。它与 github 强绑定,属于 GitHub 工作流工具。

使用准备

配置 github token 以及相关权限
github Action 中,可以使用 secret.GITHUB_TOKEN,需要配置 github token 的 contentspull-request 的写权限。
github Action
在实际使用中,由于 cli 操作过于繁琐(每次都需附带 token 和 repo url),建议使用 GitHub Action 进行自动化操作。
> 注意:使用 GitHub 提供给 Action 的 github.token 时,Action 的所有操作,都无法触发其他的 Action。
因此如果想触发其他的 workflow 需要使用 PAT。 fine-grained PAT 需要提供 Contentspull requests 权限。 相关权限参考文档
配置好 config 文件manifest
必须指定好正确的 release-please,不同的 release-type 会决定工具查找版本文件的逻辑。
手动配置 manifest 而不使用 cli 的 bootstrap 命令。在 cli 里指定 release-type 会直接按照单 repo 生成。

阅读全文 »

主要用于调试跨 repo 的项目依赖,功能与 npm link 类似,但是参数和行为有所不同。本文是一些官方文档的翻译+一些注意事项和关联功能。
-C/--dir参数,可以修改linkunlink的影响目录(可以认为就是改变工作目录)

link 的 api 不多,但是官方文档写得过于简单糟糕,以至于不明所以(有更新比较具体的用例)。同时文档里,没有提及如何查询 link 到 global node_modules 的包(实际上有,下文会提及)

阅读全文 »

launchd 是可以统一管理守护进程,应用,脚本的开源服务管理框架。

守护进程是在后台运行,不需要用户输入的一类程序。

  • launchd 会区分守护进程(daemon)与代理进程(agent)。前者可以以root用户,或者以UserName字段中定义的用户运行;而代理进程,只能使用登录用户运行。
阅读全文 »

使用man ssh查看ssh命令,使用man ssh_config查看ssh_config配置。

ssh 从三个地方分别获取配置内容:

  1. 命令行参数
  2. 用户设置文件(~/.ssh/config)
  3. 系统设置文件(/etc/ssh/ssh_config)
阅读全文 »

一般会有一个 requirements.txt,用来一次性安装需要的依赖。

1
2
3
4
5
# 将当前pip安装的依赖库全部输出在对应文件
pip freeze > requirements.txt
# 安装文件中的所有 python 库
# -r, --requirement <file> Install from the given requirements file. This option can be used multiple times.
pip install -r requirements.txt

此处所有操作命令,都只写了 Linux/MacOS 的版本,未列出 Windows。(官方有仔细写出)

阅读全文 »

复现系统环境:iOS 10~10.1 (必要条件),后台断点下载。

这是在项目中的实际遭遇,iOS 9下断点下载功能正常运行,iOS 10下,无法继续断点下载。虽然这里就一句话,但是花了接近一个下午才排查出来。(侧面说明留一台旧系统的重要性,试了半天,换上iOS 9,才发现是iOS 10的bug。)

关键字搜索:NSURLSession cancelByProducingResumeData

阅读全文 »