Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

企业前端项目的持续集成 #3

Open
noneven opened this issue Oct 22, 2016 · 1 comment
Open

企业前端项目的持续集成 #3

noneven opened this issue Oct 22, 2016 · 1 comment

Comments

@noneven
Copy link
Owner

noneven commented Oct 22, 2016

在说jenkins之前,先介绍一下前端开源项目的持续集成方案:

比较认可的是(Mocha+Chai)+Travis CI+Coveralls+SauceLabs。

  • 1、Mocha+Chai作单元测试,
  • 2、Travis CI作项目持续集成,
  • 3、Coveralls作测试代码覆盖率,
  • 4、SauceLabs作跨浏览器集成测试。

也就是大家在github上看到的大部分项目的持续集成方案(从各种徽章看)。但是在企业的前端项目中一般不采用Travis CI作为持续集成,而是采用Jenkins,几个重要的原因如下:

  • 1、Travis CI和github强绑定,但是国内还有很多公司采用的SVN作为版本管理工具
  • 2、Travis CI不提供独立部署的CI server,而Jenkins可以独立部署
  • 3、Travis CI不可定制,不像Jenkins一样提供各种插件扩展
  • 4、价格没有优势
    所以大家都不约而同的采用了Jenkins作为企业应用的持续集成工具

再说说一般团队的workflow:

  • 1、gulp flow/webpack flow/fis flow + plug-ins开发
    • 集成自动化流程
      • Less / Sass -> CSS 编译
      • CSS**** Autoprefixer 前缀自动补全
      • 自动生成图片 CSS 属性,width & height 等
      • CSS cssnano 压缩
      • CSS Sprite 雪碧图合成
      • Retina @2x & @3x 自动生成适配
      • Imagemin 图片压缩
      • px -> rem 兼容适配方案
      • 智能 WebP 解决方案
      • 去缓存文件 Reversion (MD5) 解决方案
      • ES6/7的babel编译
      • JS 合并压缩按依赖加载
  • 2、eslint作为代码检查工具
  • 3、mocha+chai单元测试(不过很少有团队把这个作为项目的必须流程)
  • 4、gitlab管理项目代码
  • 5、gitlab hook+Jenkins自动部署dev/test/prod

对于1-4步都在前端开发环境中完成,很多团队都集成到一个命令行工具完成(比如tmt-workflow),也有用Electron做成桌面可视化工具(比如weFlow),第五步需要进行(权限管理),开发自测时在dev服务器上,提测QA时部署到测试服务器,上线部署到线上服务器。
可以看到Jenkins在持续集成的过程中作用和意义重大

转载请注明出处

@noneven
Copy link
Owner Author

noneven commented Oct 24, 2016

开源项目的持续集成推荐文章:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant