全栈工程师_java全栈工程师_全栈开发者学习经验总结

  • 首页
  • 开发工具
    • 软件安装
    • 软件使用
  • 前端
    • Ionic
    • Android
    • Capacitor
    • Angular
    • Vue
    • 苹果开发者账号
  • 后端
    • Java
    • Python
    • MyBatis
    • Spring
    • SpringBoot
    • SpringMVC
    • SpringCloud
  • 服务器
    • Linux
    • MySQL
    • Nginx
    • Tomcat
    • Docker
  • 其他
    • 生活碎片
    • 报错专区
  • 我
lipsuper
专注产出高质量原创手打文章
  1. 首页
  2. 后端
  3. Java
  4. 正文

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

2020年7月19日 822点热度 0人点赞 0条评论

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

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

  1. 搭建docker私有仓库
  2. 代码提交
  3. 使用jenkins拉取代码,构建镜像,提交代码到docker私有仓库
  4. 使用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文件中引入如下的插件:

<build>
  <finalName>app</finalName>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
    <!--docker的maven插件,官网: https://github.com/spotify/docker‐maven‐plugin-->
    <plugin>
      <groupId>com.spotify</groupId>
      <artifactId>docker-maven-plugin</artifactId>
      <version>1.2.2</version>
      <configuration>
        <!--192.168.2.124:5000是我上面搭建的docker私有仓库地址-->
        <imageName>192.168.2.124:5000/${project.artifactId}:${project.version} </imageName>
        <!--构建项目镜像要基于jdk1.8的镜像,这个镜像要提前自己做好-->
        <baseImage>jdk1.8</baseImage>
        <entryPoint>["java", "‐jar", "/${project.build.finalName}.jar"]</entryPoint>
        <resources>
          <resource>
            <targetPath>/</targetPath>
            <directory>${project.build.directory} </directory>
            <include>${project.build.finalName}.jar</include>
          </resource>
        </resources>
        <dockerHost>http://192.168.2.124:2375</dockerHost>
      </configuration>
    </plugin>
  </plugins>
</build>

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私有仓库

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

  1. 安装jenkins
  2. jenkins安装Maven Integration插件
  3. 在服务器安装maven和上传maven本地仓库到服务器
  4. jenkins进行jdk,maven,git配置
  5. 在jenkins上创建项目的maven项目,然后进行构建

四、使用rancher运行镜像

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

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

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

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 备忘
最后更新:2020年7月20日

lipsuper

这个人很懒,什么都没留下

点赞
< 上一篇

文章评论

取消回复

COPYRIGHT © 2021 lipsuper.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

渝ICP备2021004735号-1

渝公网安备 50011202502306号