1.0.1 • Published 5 years ago
@huyafed/ci v1.0.1
CI 配置工具
相关依赖
老项目接入
- window 环境下推荐使用 cmd/powershell 操作
- 设置 @huyafed 的源:
npm config set @huyafed:registry https://nexus.huya.com/repository/npm-public/
- 在项目内执行
npx @huyafed/ci init
- 回答一些问题后, 在项目内会自动生成
.gitlab-ci.yml
文件 - 关于 rsync 目标路径, 请查看 rsync-deployer 的文档
- done
作为库使用
const { init } = require('@huyafed/ci')
init(params: InitParam)
init 函数的参数如下, 均是可选值, 如果传入了相关的参数, 则 ci 设置过程不再询问对应问题.
interface InitParam {
rootPath?: string // 如果不提供, 则采用 process.cwd()
publicPath?: string // 不存在则询问
testCmd?: string // 不存在则询问
buildTestCmd?: string // 不存在则询问
buildProdCmd?: string // 不存在则询问
distPath?: string // 不存在则询问
}
yml 文件
yml 文件部署语句, 指示了将文件部署至何处:
rsync-deployer --user $SERVERTYPE_TEST_USER --password $SERVERTYPE_TEST_PWD --module $SERVERTYPE_TEST_MODULE --ip-list $SERVERTYPE_TEST_IPS src-dir/ /dest-dir
推荐将 rsync 的敏感信息(比如密码)保存在 gitlab 中(settings -> cicd -> secret variables), 而不是明文写到 .gitlab-ci.yml
文件中.
预设的环境变量
前端组的 gitlab 设置 了几组环境变量:
- ACT_TEST_USER
- ACT_TEST_PWD
- ACT_TEST_IPS
- ACT_TEST_PORT
- ACT_TEST_MODULE
以上环境变量表示 test.hd.huya.com 服务器的: rsync用户名/rsync密码/服务器ip地址列表(以英文逗号,分隔)/rsync端口(可选值, 没有定义的话将用端口8730)/rsync模块名称.
- ACT_PROD_USER
- ACT_PROD_PWD
- ACT_PROD_IPS
- ACT_PROD_PORT
- ACT_PROD_MODULE
以上环境变量表示活动生产服务器的相关数值
如果项目不使用前端共用的测试/生产服务器, 只需要在相应项目的gitlab ci配置页面添加相应的环境变量即可. 比如公会中心使用自己的服务器, 那么添加应该的环境变量:
- OW_TEST_USER/OW_TEST_PWD/OW_TEST_IPS/OW_TEST_MODULE
- OW_PROD_USER/OW_PROD_PWD/OW_PROD_IPS/OW_PROD_MODULE