从jenkins说起,什么是构建
本人小白刚上手写完一个接口,然后大佬们说写完任务之后记得用jenkins构建一下。
那么问题来了:jenkins是啥?构建又是啥意思?
突然想起long long ago 自己接触过maven这个概念。
maven是啥?
maven是个项目构建和jar包管理工具。所有被maven管理的项目都有着同样的结构:
比如:src/main/java下放的是Java代码, src/main/resource下放的是配置文件,src/main/test下放的是测试代码,与src同级的是pom.xml,里面管理着这个maven项目所需要的jar包,当然这些jar包来自maven仓库,并以“坐标”的形式被项目引用。
(如果你创建的是个Javaweb项目,那么还会有个src/main/webapp的文件夹,专门用来存放各种资源:如HTML、jsp、js、css等)
更详细的项目结构图如下:
好吧,我列举出来的项目结构并不够准确,更完整的项目结构应该是下图所示的(这图是我从其他博客扣来的):
讲了那么久,还是没有讲到“构建”对不,那么构建是啥意思呢?
一个项目的构建过程通常包括清理、编译、测试、打包、集成测试、验证、部署等
在jenkins上构建项目时,我们写的maven命令是:
clean deploy -Dspring.profiles.active
意味着:
mvn clean deploy依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段。
即:
布署到远程maven私服仓库
deploy命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库