Jenkins一键打包部署SpringBoot应用(精简版)

1. 概述

Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson,主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。

2. 说明

这里不赘述相关概念和原理,仅描述如何将你的springboot应用通过jenkins实现一键打包部署的关键步骤
环境: centos7 + docker

3. 步骤

3.1 准备springboot应用,pom中需要有打包插件的配置

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-maven-pluginartifactId>
        plugin>
    plugins>
build>

3.2 Linux安装maven

(也可以直接在jenkins里配置自动安装)

  1. 下载
    cd /opt/software
    wget https://downloads.apache.org/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
    
  2. 解压
    tar -zxvf apache-maven-3.6.3-bin.tar.gz -C /opt/module/
    
  3. 配置环境变量
    vim /etc/profile
    
    在末尾加入如下配置
    export M2_HOME=/opt/module/apache-maven-3.6.3
    export PATH=$PATH:$M2_HOME/bin
    
    刷新配置
    source /etc/profile
    
    验证
    mvn -v
    
    在这里插入图片描述
  4. 设置国内镜像地址加速
    vim conf/settings.xml
    
    在mirrors标签内新增如下配置
    <mirror>
        <id>alimavenid>
        <mirrorOf>centralmirrorOf>
        <name>aliyun mavenname>
        <url>http://maven.aliyun.com/nexus/content/groups/public/url>
    mirror>
    

3.3 基于Docker安装Jenkins

  1. 下载镜像

    docker pull jenkins/jenkins:lts
    
  2. 运行容器
    如果要使用自定义安装的maven,这里一定需要做好maven安装路径映射和仓库路径映射

    docker run --privileged=true -v /root/jenkins_home:/var/jenkins_home -v /opt/module/apache-maven-3.6.3:/opt/module/apache-maven-3.6.3 -v /root/.m2/repository:/root/.m2/repository -p 8080:8080 -p 50000:5000 --name jenkins -u root  jenkins/jenkins:lts
    

    Jenkins一键打包部署SpringBoot应用(精简版)_第1张图片

  3. 访问jenkins
    http://ip:8080/
    第一次比较慢,输入初始密码解锁jenkins

  4. 因插件安装非常慢,先不要安装插件,执行以下命令修改下载的服务器地址为国内镜像

    sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' /root/jenkins_home/updates/default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' /root/jenkins_home/updates/default.json
    
  5. 重启jenkins,并重新登录

    docker restart jenkins
    
  6. 安装推荐插件

  7. 创建第一个管理员用户

  8. 实例配置,默认即可,此时jenkins进入就绪状态
    Jenkins一键打包部署SpringBoot应用(精简版)_第2张图片
    这里建议重启一次

  9. 自定义插件安装
    Jenkins一键打包部署SpringBoot应用(精简版)_第3张图片
    选择插件:
    在这里插入图片描述

  10. maven配置
    在Global Tool Configuration找到maven配置
    Jenkins一键打包部署SpringBoot应用(精简版)_第4张图片

  11. ssh配置
    先配置root帐号密码
    Jenkins一键打包部署SpringBoot应用(精简版)_第5张图片
    在系统配置中配置ssh并测试
    Jenkins一键打包部署SpringBoot应用(精简版)_第6张图片

  12. 授权策略
    这里配置从简Jenkins一键打包部署SpringBoot应用(精简版)_第7张图片

3.4 将代码上传git

本文采用gitee

3.5 创建jenkins任务

  1. 新建任务
    Jenkins一键打包部署SpringBoot应用(精简版)_第8张图片
  2. 设置git仓库地址及设置git帐号密码
    Jenkins一键打包部署SpringBoot应用(精简版)_第9张图片
    Jenkins一键打包部署SpringBoot应用(精简版)_第10张图片
  3. 构建配置
    Jenkins一键打包部署SpringBoot应用(精简版)_第11张图片
    Jenkins一键打包部署SpringBoot应用(精简版)_第12张图片
  4. 构建环境设置
    Jenkins一键打包部署SpringBoot应用(精简版)_第13张图片
    脚本参考
    cd /root/jenkins_home/workspace/jenkins-demo
    app_name='jenkins-demo'
    docker stop ${app_name}
    echo '----stop container----'
    docker rm ${app_name}
    echo '----rm container----'
    docker build -t jenkins-demo .
    docker run -d  TZ="Asia/Shanghai"  -p 8900:8800 --name ${app_name} jenkins-demo
    echo '----start container----'
    

3.6 创建dockerfile

可以提前在springboot项目根目录创建,内容参考

FROM java
MAINTAINER dacai
ADD ./target/jenkins-demo-1.0-SNAPSHOT.jar /app/app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app/app.jar"]

3.7 执行jenkins任务

Jenkins一键打包部署SpringBoot应用(精简版)_第14张图片

测试失败, 不要激动,再来一遍!
大功告成, 不要激动,再来一遍!

你可能感兴趣的:(jenkins,docker,java,linux,jenkins)