本文需要使用Docker,Jenkins
使用到的环境依次为:
1:Centos7
2: Docker
3: gitee存储springboot
还没安装docker的请看这: Docker一键安装。
还没安装Jenkins的同学请看这:Jenkins一键安装。
Jenkins需要安装的插件有
使用的Springboot项目为:https://gitee.com/y_project/RuoYi
将此项目fork到自己的仓库然后复制仓库的git地址
将此项目下载到本地,然后在根目录添加Dockerfile,deploy.sh,Jenkinsfile三个文件
Jenkinsfile(jenkins的流水线配置文件)
pipeline {
agent none
stages {
stage('Build') {
agent {
docker {
image 'maven:3-alpine'
args '-v /root/.m2:/root/.m2'
}
}
steps {
sh 'mvn clean install -DskipTests=true'
}
}
stage('Deploy') {
agent any
steps {
sh 'sh deploy.sh'
}
}
}
}
Dockerfile(用于将maven编译后的jar包打成镜像)
FROM openjdk:8-jre
MAINTAINER Mroldx
ENV PROJECT_NAME ruoyi
ENV PROJECT_HOME /usr/local/${PROJECT_NAME}
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
RUN mkdir $PROJECT_HOME && mkdir $PROJECT_HOME/logs
COPY ruoyi-admin/target/*.jar /application.jar
ENTRYPOINT ["java", "-jar","/application.jar"]
deploy.sh(用于docker镜像部署)
#!/bin/bash
#项目占用端口
APP_PORT=9005
# 项目名字
APP_NAME=ruoyi
APP_HOME=/test/deploy/${APP_NAME}
APP_OUT=${APP_HOME}/logs
APP_TAG=2.0
mkdir -p ${APP_HOME}
mkdir -p ${APP_OUT}
echo "清理已有容器及镜像资源"
docker stop ${APP_NAME} && docker rm ${APP_NAME}
echo "清理已有容器及镜像资源成功!!!!"
echo "镜像制作"
docker build -t ${APP_NAME}:${APP_TAG} .
echo "镜像制作完成"
echo "开始运行"
docker run -d --name ${APP_NAME} -p 9005:7777 -v ${APP_OUT}:/usr/local/${APP_NAME}/logs ${APP_NAME}:${APP_TAG}
echo "已成功运行"
将这三个文件编辑好了后就可以提交到gitee了。
假设您已经做完了如上的步骤
打开jenkins
先新建个文件夹,文明名为:随便取一个
进入此文件夹后,点击create a job
这里我们点击创建流水线
进入后,找到流水线相关配置
下拉选择 pipeline script from scm,SCM选择git,Repository URL输入你的git地址,如果你的项目是私有的那还需要配置一下凭据。由于我这项目的jenkins配置文件在主分支我这边选择master
最后单击保存就可以了。这时候就可以点击立即构建
可以看到这里已经在执行构建了
点击构建id#2进去就可以看到构建日志了
可以看到这边已经是构建成功了
我们去后台看一下,已经是容器已经成功运行了



