设为首页 收藏本站
查看: 672|回复: 0

[经验分享] [持续集成]Jenkins 自动化部署 Maven 工程

[复制链接]
累计签到:2 天
连续签到:1 天
发表于 2018-1-9 12:15:02 | 显示全部楼层 |阅读模式
一、环境准备

1 操作系统
  CentOS 6.5

2 相关软件
  Jdk1.8
  SVN
  Maven3
  Tomcat8
  Jenkins3

二、工程代码

1 配置文件

分别提供不同部署环境下的配置文件组(通常包括数据库配置、文件存储目录、缓存地址、中间件地址等)
  src/main/resources
  distribute
  debug   ---------- 调试服务器配置文件夹
  config.properties
  spring-xxxx.xml
  …
  test     -----------  测试服务器配置文件夹
  config.properties
  spring-xxxx.xml
  …
  prod   ------------  生产服务器配置文件夹
  config.properties
  spring-xxxx.xml
  …
  config.properties   ------------ 默认本地开发使用的配置文件(直接存放在 src/main/resources 根目录)
  spring-xxxx.xml
  …

2 pom.xml
  分别配置不同部署环境下的profile,实现在编译打包时,根据部署环境不同,替换不同的配置文件
  <project>
  <profiles>
  …(此处可配置不同环境下的profile)
  </profiles>
  </project>
  示例: 调试profile 配置
  <profile>
  <id>debug</id>
  <build>
  <plugins>
  <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-antrun-plugin</artifactId>
  <executions>
  <execution>
  <phase>compile</phase>
  <goals>
  <goal>run</goal>
  </goals>
  <configuration>
  <tasks>
  <copy todir="${basedir}/src/main/webapp/WEB-INF/classes/" overwrite="true">
  <fileset dir="${basedir}/src/main/resources/distribute/debug/" />
  </copy>
  </tasks>
  </configuration>
  </execution>
  </executions>
  </plugin>
  </plugins>
  </build>
  </profile>
  注:蓝色字体实现了调试服务器配置文件的拷贝覆盖。

三、SVN
  1 开发人员代码上传
  2 为jenkins 配置代码下载账号

四、Tomcat
  1 配置Tomat 角色 和 用户,用以实现远程部署
  ${Tomcat_home}/conf/tomcat-user.xml,增加角色和用户
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <user username="admin" password="admin" roles="manager-gui,manager-script"/>

五、Jenkins
  1 系统配置
  系统管理-> Global Tool Configuration
  jdk
  maven
  2 插件配置
  系统管理-> 管理插件
  安装部署插件:Deploy to container Plugin
  安装版本插件:Subversion Plug-in
  3 项目配置 -- 新建项目
  应为不同部署环境,建立不同的Jenkins项目,分别配置不同的buiid 命令 和 不同的部署容器
  (1)输入项目名称
  (2)选择构建一个Maven项目
  (3)SVN配置
  输入 Repository  URL
  Add Credentials 并选择(SVN 账号密码,推荐使用为Jenkins开通的账号)
  (4)Build
  Root POM: pom.xml
  Goal and options : clean install -U -Pdebug  (此处使用调试服务器配置进行编译打包,-P后单词应对应pom.xml 中 profile 的>
  (5)构建后操作
  增加 deploy war/ear to a container
  WAR/EAR files : **/target/*.war
  containers :  TomcatN.x
  Manager user name : admin     (此处配置应与tomcat 配置的用户一致)
  Manager password : admin
  Tomcat URL : http://IP:PORT/ (此处只应配置到端口号)
  (6)保存,然后立即构建,可查看构建日志,根据构建日志,修正错误,直至显示
  

Finished: SUCCESS  

  

至此,Maven项目可以实现通过Jenkins一键部署到不同服务器。   

  

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-433213-1-1.html 上篇帖子: Linxu下jenkins部署和基本配置 下篇帖子: 集成jenkins自动安装apk文件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表