前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CI/CD持续集成/持续部署

CI/CD持续集成/持续部署

作者头像
黑洞代码
发布2021-01-14 15:35:06
2.2K0
发布2021-01-14 15:35:06
举报
文章被收录于专栏:落叶飞翔的蜗牛

在说CI/CD之前,作者先阐述一下在没有这些东西之前,Java开发基本流程。这也基本能暴露出作者的年纪了。

在作者刚毕业的时候,在一家小企业从事Java开发。工作的流程就是:

1、Eclipse -> new Project/web Project,jar放在libs里面。

2、svn

3、Eclipse -> export war,放在tomcat的webapps下,启动bin/start.sh。

作者当初完全没觉得有问题。现在想想,简直就是浪费时间。至于为什么浪费时间,作者下面会一一道来。

question1:构建工程结构麻烦,现在通过maven/gradle可以简单快速的构建一个完美的多模块工程,也不用四处下jar放在libs下,直接通过三维坐标的形式,maven/gradle会自动进行jar的下载工作。

question2:多人共同开发时,用svn经常出现文件冲突。现在通过git,每个人都有一个自己独立的分支。

question3:code冲突了,也能打成war,每次变动code,都得人工重新打包。启动一个tomcat没问题,如果机器多了,启动多个tomcat,耗时耗力。

CI/CD持续集成/持续部署,就是提高开发者的工作效率,避免人日的浪费。Jenkins就是一款很好的实现了代码的自动构建、测试、集成部署的工具。将开发人员从繁重而繁杂的非核心工作解脱。

一、利用gradle + git 构建一个工程

这是作者利用gradle构建的一个多业务模块工程。account-api就是一个普通的java工程,account-server是一个web工程。其中包含一个controller代码:

最后,把代码通过git传到服务器上。

2、通过jenkins来实现自动构建、自动发布。

2.1、从jenkins官网下载一个jenkins.war到本地,启动jenkins.war即可,作者是通过如下方式启动:java -jar jenkins.war --httpPort=8082。然后通过localhost:8082即可访问Jenkins的管理页面。首次登录是需要输入密码的,该密码在Jenkins的启动日志里面可以查到。最后的管理界面如下:

2.2、环境配置

系统管理——>全局配置——>配置jdk、git、gradle

系统管理——>插件管理——>安装各种插件:Deploy to container Plugin。其他的插件一般在初始化jenkins的时候已安装成功。

2.3、创建任务

构建:构建项目,打包

构建后操作:构建成功后,把项目部署到tomcat容器

注意:a、要在tomat/conf/tomcat-users.xml中添加用户

b、tomat要事先启动

2.4、构建任务

2.5、访问服务

两个tomcat的访问姿势:

2.6、jenkins自动拉取code,可以拉取code的commit记录,直观的显示code的动态。避免人工打包时,无法感知code的变更记录。

至此,通过jenkins,实现自动拉取代码,自动构建代码,自动发布代码。为开发人员节省了很多时间取处理核心工作。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-08-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 落叶飞翔的蜗牛 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
持续集成
CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档