Jenkins+Docker+gitee 持续部署spring boot 应用教程

参考

Jenkins+Docker+Gitee+SpringBoot自动化部署
Jenkins+Docker+gitee 持续部署spring boot 应用教程
Docker安装Jenkins自动化部署Gitee上的SpringBoot项目
使用Docker+Jenkins+Gitee自动化部署SpringBoot项目

安装jenkinsci

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成
我们先要安装Docker,安装完docker后 拉取并运行Jenkins镜像,端口映射和挂载目录可自行更改,jenkinsci/blueocean 版本能够简化流水线步骤。

拉取镜像

最新版本有默认jdk11,兼容性较差,最好用jdk8

# jdk11
docker pull docker.io/jenkinsci/blueocean
# jdk1.8
docker pull jenkins/jenkins:lts-centos7-jdk8

创建目录

mkdir /usr/local/maven
mkdir /usr/local/jenkins

安装maven

cd /usr/local/maven
# 下载
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
# 解压
tar -zvxf apache-maven-3.6.3-bin.tar.gz

启动镜像

docker run \
     -d \
     --name jenkins \
     --net mynet \
     --rm \
     -u root \
     -p 8081:8080 \
     -v /usr/local/jenkins:/var/jenkins_home \
     -v /var/run/docker.sock:/var/run/docker.sock \
     -v /usr/bin/docker:/usr/bin/docker \
     -v /usr/local/maven/apache-maven-3.6.3:/usr/local/maven/apache-maven-3.6.3 \
     -v /usr/local/java/jdk1.8:/usr/local/java/jdk1.8 \
     -v "$HOME":/home \
     jenkinsci/blueocean

docker run \
     -d \
     --name jenkins \
     --net mynet \
     --rm \
     -u root \
     -p 8081:8080 \
     -v /usr/local/jenkins:/var/jenkins_home \
     -v /var/run/docker.sock:/var/run/docker.sock \
     -v /usr/bin/docker:/usr/bin/docker \
     -v /usr/local/maven/apache-maven-3.6.3:/usr/local/maven/apache-maven-3.6.3 \
     -v /usr/local/java/jdk1.8:/usr/local/java/jdk1.8 \
     -v "$HOME":/home \
     jenkins/jenkins:lts-centos7-jdk8

docker run \
     -d \
     --name jenkins \
     --net mynet \
     --rm \
     -u root \
     -p 8081:8080 \
     -v /usr/local/jenkins1.8:/var/jenkins_home \
     -v /var/run/docker.sock:/var/run/docker.sock \
     -v /usr/bin/docker:/usr/bin/docker \
     -v /usr/local/maven/apache-maven-3.6.3:/usr/local/maven/apache-maven-3.6.3 \
     -v /usr/local/java/jdk1.8:/usr/local/java/jdk1.8 \
     -v "$HOME":/home \
     jenkins/jenkins:lts-centos7-jdk8

docker run \
     -d \
     --name jenkins \
     --net mynet \
     --rm \
     -u root \
     -p 8081:8080 \
     -v /usr/local/jenkins1.8:/var/jenkins_home \
     -v /var/run/docker.sock:/var/run/docker.sock \
     -v /usr/bin/docker:/usr/bin/docker \
     -v /usr/local/maven/apache-maven-3.6.3:/usr/local/maven/apache-maven-3.6.3 \
     -v /usr/local/java/jdk1.8:/usr/local/java/jdk1.8 \
     -v "$HOME":/home \
     docker.io/jenkinsci/jenkins:latest


注释(左边为你的服务器路径,右边为容器内路径):

  • -v /var/run/docker.sock:/var/run/docker.sock 挂载docker的守护进程,容器内部也能调用docker命令,且与外部docker同步

  • -v /usr/bin/docker:/usr/bin/docker \ 能让容器内的 jenkins 调用并操作容器外的 docker。

  • -v /usr/java/jdk1.8.0_221:/usr/java/jdk1.8.0_221 挂载为使用容器外部的jdk

  • -v /usr/maven/apache-maven-3.6.3:/usr/maven/apache-maven-3.6.3 挂载为使用容器外部的maven

  • -v /usr/maven/maven-repository:/usr/maven/maven-repository 挂载为使用容器外部的maven仓库

    扫描二维码关注公众号,回复: 15183145 查看本文章
  • -v /usr/webtools/jenkins/data:/var/jenkins_home 把jenkins的文件同步挂载到你的服务器

配置

打开http://192.168.0.44:8081/

输入密码

在这里插入图片描述
由于已经映射了路径,查看密码

cat /usr/local/jenkins/secrets/initialAdminPassword

安装推荐的插件

在这里插入图片描述

创建用户密码

jenkins/jenkins@123456

配置环境变量

在这里插入图片描述

安装gitee和dingtalk插件

在这里插入图片描述

创建SpringBoot并创建Dockfile

配置gitee的webhook

在这里插入图片描述
点击自动生成密码
在这里插入图片描述

配置构建shell脚本

在这里插入图片描述

#!/bin/bash -il

echo "docker rm -f app_docker"
docker rm -f app_docker
sleep 1
echo "docker rmi -f app_docker:1.0"
docker rmi -f app_docker:1.0
sleep 1
echo "mvn clean install -Dmaven.test.skip=true"
mvn clean install -Dmaven.test.skip=true
sleep 1
echo "docker build -t app_docker:1.0 -f ./Dockerfile ."
docker build -t app_docker:1.0 -f ./Dockerfile .
sleep 1
echo "docker run -d -p 7001:7001 --name app_docker app_docker:1.0"
docker run -d -p 7001:7001 --name app_docker app_docker:1.0

配置监听gitee webhook触发构建

在这里插入图片描述

配置dingtalk钉钉通知

Jenkins配置钉钉通知

猜你喜欢

转载自blog.csdn.net/Blueeyedboy521/article/details/130109252