如何梳理java项目_给项目搭建持续集成的整体思路梳理

我所理解的持续集成是这样的,当一个团队或者个人 开发者想要把项目的测试、部署过程变得更加简单快速而且自动化的时候,他需要一整套这样的流程。这套流程大概是这样的:首先团队的成员统一把代码提交到一个代码仓库,然后使用jenkins从代码仓库拉取代码,基于jenkins的maven插件,调用jenkins所在主机的maven,对代码进行检查并打包成dock er镜像,并且把镜像提交到指定的docker仓库。然后通过rancher来配置各种环境,运行镜像成容器的这样一个过程。

总的来说呢,持续集成就分为这几个大的步骤:

搭建docker私有仓库

代码提交

使用jenkins拉取代码,构建镜像,提交代码到docker私有仓库

使用rancher运行镜像

下面就展开来讲一下:

一、搭建docker私有仓库

搭建的方法请参考这篇文章。只需要看第一大步骤就可以了。搭建完了以后我们还要配置docker允许远程访问,具体如下:

vi /lib/systemd/system/docker.service

在ExecStart=后添加下面的配置

‐H tcp://0.0.0.0:2375 ‐H unix:///var/run/docker.sock

二、代码提交

代码提交分为三个小的步骤:

1.在提交代码前要给项目配置docker maven插件,我们需要在项目的pom文件中引入如下的插件:

app

org.springframework.boot

spring-boot-maven-plugin

com.spotify

docker-maven-plugin

1.2.2

192.168.2.124:5000/${project.artifactId}:${project.version}

jdk1.8

["java", "‐jar", "/${project.build.finalName}.jar"]

/

${project.build.directory}

${project.build.finalName}.jar

http://192.168.2.124:2375

2.完了我们再把名字叫做jdk1.8的jdk镜像做好,使用Dockerfile来制作。通过Dokcerfile制作镜像的方式参考这篇文章。这里我只把Dockerfile放在下面:

构建命令:docker build -t='jdk1.8' .

FROM centos:7

LABEL maintainer=lipsuper

WORKDIR /usr

RUN mkdir /usr/local/java

ADD jdk-8u121-linux-x64.tar.gz /usr/local/java/

ENV JAVA_HOME /usr/local/java/jdk1.8.0_121

ENV JRE_HOME $JAVA_HOME/jre

ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH

ENV PATH $JAVA_HOME/bin:$PATH

3.接下来就是提交代码,提交代码我这里使用的是idea的git插件提交到gitee.com。当然你也可以选择提交到自己的代码仓库,那么我推荐使用gogs来搭建自己的可视化代码仓库,怎么搭?看这里。

三、使用jenkins拉取代码,构建镜像,提交代码到docker私有仓库

这里呢也要分为几个小的步骤

jenkins安装Maven Integration插件

在服务器安装maven和上传maven本地仓库到服务器

jenkins进行jdk,maven,git配置

在jenkins上创建项目的maven项目,然后进行构建

四、使用rancher运行镜像

使用rancher之前我们首先要安装rancher。具体的安装方法参考这篇文章。

安装完成过后,添加我们的应用,把我们的项目的私有仓库填到创建项目的各种框框,添加好端口映射就行了。

总结:使用持续集成需要的步骤比较多,但大多数是各种软件的使用,并没有特别难的点。需要注意的是rancher的内存占用很大,根据自己的实际情况选择。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值