㈠ jenkins构建项目的错误和原因及其解决方法
我们项目开发完之后需要构建项目发布上线时,通常会使用到jenkins构建工具,然后在使用jenkins工具构建项目时通常也会遇到一些构建错误问题,通常情况下,如果项目在自己本地打包时没有问题,启动服务时也没有问题的情况下,可能是jenkins配置问题,需要开发人员配合本地配置项的修改完成,下面我给大家分享一下我遇到的一些构建失败问题,注意:本篇文章讲的主要是关于前端项目的构建失败问题。
Umi自动化工程创建的react项目
从图一中可以看出,是构建时打包命令出错,使用了不能识别的 npm run build:prod ,该命令是前端工程项目中卖友 package.json 包文件中的 scripts 中配中兆槐置的,该案例中前端并没有配置build:prod 这个打包命令,如图:
这里有两种解决办法。
直接去jenkins 上将打包命令配置成前端包文件种配置的命令,本案例中因为没有区分不同的开发环境,而且项目也只有master一个主分支,没有使用环境变量来区分不同环境的打包命令,所以图一中的问题,可以直接将jenkins里面的打包命令配置成图二中的打包命令 npm run build。去到jenkins 工具中,找到对应的配置项,如图:
如果项目变得复杂,需要进行严格的环境区分,那么这种情况下建议使用第二种方法,使用环境变量区分不同环境的打包命令,具体步骤如下:
去到前端项目在项目根目录下找到包文件package.json文件,打开后,在scripts下面配置build:prod 的打包命令,如图:
去到前端项目中的配置文件config.js中配置 APP_ENV环境变量来区分不同的环境,例如生产环境,开发环境,测试环境等,配置如下:
本文中暂时讲到图一中这种jenkins构建失败的现象以及导致失败的原因和针对其不同的两种解决方法,后续再碰到其它失败现象再补充,或者大家也可以在评论区回猜笑复各自遇到的失败情况,欢迎留言。
㈡ PHP项目的标准部署方式是怎样的
PHP 的世界里有 Composer(http://getcomposer.org/),这个玩意儿你可以联想成 npm 之于 Node.js,gem 之于 Ruby。它有一个官方的包仓库 Packagist(https://packagist.org/)。
一般的项目部署也有相关的工具,例如 phing(http://www.phing.info/),可以认为是 Ant 之于 Java。
举
例来说,现在做的项目用的是 Github+Jenkins 的方案,每个开发人员从主仓库 fork 到自己账户,然后提交 Pull
Request。Pull Request 会触发 Jenkins 的 Pull Testing,将改动部署到 QA
环境中,然后该怎么测试就怎么测试吧。部署脚本的工作主要包括清理原先的项目文件和数据库,取回代码库中最新的版本,跑 phing(包括数据库的
Migration、运行 PHPUnit, PHP CodeSniffer等一系列QA工具)等。最终部署到生产环境的过程是类似的。