1.1.0 • Published 6 years ago

byted-fe-ci v1.1.0

Weekly downloads
3
License
ISC
Repository
-
Last release
6 years ago

byted-fe-ci

前端 gitlab CI/CD 工具

功能

  1. -t --npmtest 运行 npm test

    在 package.json 中配置 scripts.test

  2. -l --eslint 运行 eslint

    需要在项目中配置了 eslint 并且项目中有依赖安装 eslint

  3. -s --tslint 运行 tslint

    运行 TSLint,需要配置 tsconfig.json 和 tslint.json

  4. -c --escomplex 运行代码复杂度评估

    报告会上传到 TOS,可在游览器中打开查看

  5. -p --prettier 运行代码格式化校验

    如果项目配置了 prettier,则会进行 prettier format 校验,校验结果会以 warning 形式报告

    若有用 vscode 的工程,若对 prettier 有特殊配置,请将配置提交到 git 仓库 /.vscode/settings.json

    因为 prettier 的处理结果跟 eslint、编辑器的插件、编辑器的配置都有关系,所以本地结果可能和服务端 校验结果不一致。WALLE 使用最新版本的 vscode Esben Peterson 的 prettier 插件 v1.5.0(依赖 prettier@1.13.4)进行检查

  6. 将报错信息以 Notes 形式评论在 MR 中

    MR 是通过 ProjectID + COMMIT_SHA 查找的,若不存在,则不做记录

默认运行所有规则,即:byted-fe-ci -t -l -c -s

使用方法

工程中增加 .gitlab-ci.yml 文件如下:

# 配置缓存策略,前端工程一般缓存 node_modules 即可
cache:
  key: "$CI_PROJECT_PATH-$CI_COMMIT_REF_SLUG"
  paths:
  - node_modules/

before_script:		# 脚本执行前进行分支拉去和依赖安装
  - git fetch --all
  - yarn install --registry=http://npm.byted.org # 

lint:				# 配置 JOB 名称
  tags:			# 所有 job 下必须配置 tags 才能在 shared gitlab-runner 里运行
    - fe
    - xdev
  script:			# script 这里配置执行的脚本
    - byted-fe-ci

关于缓存

  1. cache.key 指定了缓存唯一标识,可以使用的变量见 GitLab CI/CD Variables,上面的例子中使用了 $groupname / $projectname - $branch 作为 key
  2. cache.paths 指定需要缓存的文件或目录
  3. 更多配置信息可查看: