上周自己项目组成功使用 gitlab CICD 自动化发版流程,领导叫我复制到其他四个项目组的十几个项目中,相对复制粘贴,是个尝试写工具的好机会。
流程分为 runner 和 yml 脚本两部分,runner 已经使用 shared-runner 解决,我的实际需求是能够根据不同配置生成yml脚本的cli工具。
package.json 文件中的 bin,指的是如果package中包含希望添加到PATH中的可执行命令,可以提供 bin 来实现映射,本地安装时会安装到项目的 ./node_modules/.bin/
,全局会安装在prefix/bin
。这也是为什么像下面这种常见的命令,只可以在命令行里敲 npm run dev
,而不能敲 vue-cli-service serve --mode development
。因为前者实际对应的是 ./node_modules/.bin/vue-cli-service serve --mode development
"scripts": {"dev": "vue-cli-service serve --mode development",
}
#!/usr/bin/env node
是 shebang 的一个实例:类 Unix 平台上可执行纯文本文件中的第一行