Github Actions replace env vars in file

Github Actions 是个好东西😀,最近在使用的时候有个需求是,我项目不想把设置成私有的,但是有些配置又比较私密,比如 github 的 Personal access token,这种配置就不能暴露出来。 呃,这种需求前辈们估计也遇到过,github actions marketplace 是个好地方,我去里面搜了搜,果然有很多轮子,但是不知道能不能满足需求。

marketplace
marketplace

Replace env vars in file 是我选中的一个轮子。

Replace env vars in file
Replace env vars in file

Replace env vars in file 的文档就一句话, Replaces __TOKENS__ with environment variables in file. 我刚开始还不太理解。

好吧,其实是所有的环境变量都必须以__开头,然后以__结尾,这样才能被替换

我在项目中是这样使用的:

配置文件
配置文件

action 中替换
action 中替换

具体可以参看 config.toml 配置文件workflows 工作流

simple-template-renderer 相比 Replace env vars in file 有个明显的优势,simple-template-renderer 支持 html 格式,replace-env-vars-in-file 不支持😢。

比如源文件中有

yaml

icp = "${ICP}"

这个变量,需要把 ${ICP} 替换成一个 html 的变量:

shell

ICP: "<a href=https://beian.miit.gov.cn/ target=_blank>京ICP备16062974号-1</a>"

simple-template-renderer
simple-template-renderer