目录
- 参考
- 安装jenkinsci
- 拉取镜像
- 创建目录
- 安装maven
- 启动镜像
- 配置
- 输入密码
- 安装推荐的插件
- 创建用户密码
- 配置环境变量
- 安装gitee和dingtalk插件
- 创建SpringBoot并创建Dockfile
- 配置gitee的webhook
- 配置构建shell脚本
- 配置监听gitee webhook触发构建
- 配置dingtalk钉钉通知
参考
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仓库
-
-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配置钉钉通知