Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。在实际开发中,我们经常要一边开发一边提交测试,如果每次部署项目都需要人为的执行maven打包命令->上传jar包到服务器->执行java -jar 等启动命令的话,无形的在增加项目的开发成本,而通过Jenkkins来简化这一过程还是很有必要的,所以本文将带领大家如何通过docker来安装Jenkins、如何通过Jenkins打包docker镜像并运行起来。
官网下载地址:https://www.oracle.com/java/technologies/downloads/#java11
由于官网上下载的是最新的稳定版,版本号会有所不同,安装时注意一下
百度云下载地址:https://pan.baidu.com/s/198NXPBhLFh7Vukach3QiDQ
提取码:jw9x
#解压
tar -zxvf openjdk-11+28_linux-x64_bin.tar.gz
#创建java_home目录
mkdir /usr/local/java
#移动文件到java_home目录
mv jdk-11 /usr/local/java
#配置环境变量
vim /etc/profile
{
JAVA_HOME=/usr/local/java/jdk-11
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/lib
export JAVA_HOME CLASSPATH PATH
}
#刷新配置文件
source /etc/profile
#查看版本
java -version
官网下载地址:http://maven.apache.org/download.cgi
百度云下载地址:https://pan.baidu.com/s/1_l7I0CaOes_JfP0IzPwyNg
提取码:ux3d
#解压
tar -zxvf apache-maven-3.8.6-bin.tar.gz
#移动到/usr/local
mv apache-maven-3.8.6 /usr/local
#进入/usr/local
cd /usr/local
#重命名为maven
mv apache-maven-3.8.6/ maven
#配置环境变量
vim /etc/profile
{
export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$MAVEN_HOME/bin
}
#刷新配置文件
source /etc/profile
#查看版本
mvn -v
#创建maven仓库目录
mkdir /usr/local/maven/ck
#编辑配置文件
vim /usr/local/maven/conf/settings.xml
<localRepository>/usr/local/maven/cklocalRepository>
<mirrors>
<mirror>
<id>alimavenid>
<name>aliyun mavenname>
<url>http://maven.aliyun.com/nexus/content/groups/public/url>
<mirrorOf>centralmirrorOf>
mirror>
mirrors>
因为本文介绍的是基于docker安装jenkins,所以先决条件是系统必须先安装好docker才能往下走,如果对docker的安装还不熟悉的可以查看我的另一篇文章【Linux安装最新版Docker完整教程】,安装完之后再往下看。
#创建jenkins_home数据挂载目录
mkdir /mnt/jenkins_home
#赋值权限,否则后慢慢挂载会失败,这里我们给最高权限
chmod -R 777 /mnt/jenkins_home
#拉取jenkins镜像
docker pull jenkins/jenkins:lts
#启动jenkins容器
docker run -d --name=jenkins -p 8080:8080 --privileged=true \
-v /mnt/jenkins_home:/var/jenkins_home \
-v /usr/local/java/jdk-11:/usr/local/java/jdk-11 \
-v /usr/local/maven:/usr/local/maven \
-v $(which docker):/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock jenkins/jenkins:lts
#授予docker的操作权限给jenkins等容器使用
chmod a+rw /var/run/docker.sock
参数说明:
-v /mnt/jenkins_home:/var/jenkins_home:是对容器内存储Jenkins的一些配置信息的文件夹
-v /usr/local/java/jdk-11:/usr/local/java/jdk-11:是把linux下的jdk和容器内的关联(配置Jenkins时使用)
-v /usr/local/maven:/usr/local/maven:是把linux下的maven和容器内的关联(配置Jenkins时使用)
-v $(which docker):/usr/bin/docker:是把linux下的docker和容器内的关联
-v /var/run/docker.sock:/var/run/docker.sock:是可以在Jenkins容器里使用我们Linux下的docker。
输入:http://192.168.0.128:8080/(ip+端口号)
获取初始密码
#查看容器id
docker ps
#查看jenkins容器日志
docker logs (jenkins容器id)
#!/bin/bash
# 服务名称
SERVER_NAME=demo
# 源jar名称,mvn打包之后,target目录下的jar包名称
JAR_NAME=demo-1.0.0-SNAPSHOT
# jenkins下的目录
JENKINS_HOME=/var/jenkins_home/workspace/demo
# 等待三秒
echo sleep 3s
sleep 1
echo sleep 2s
sleep 1
echo sleep 1s
sleep 1
echo "结束进程完成"
cd $JENKINS_HOME/target
cp $JENKINS_HOME/Dockerfile $JENKINS_HOME/target
# 修改文件权限
chmod 755 $JAR_NAME.jar
echo "看看docker能不能用"
docker -v
echo "停止容器"
# 停止容器
docker stop demo
echo "删除容器"
# 删除容器
docker rm demo
echo "删除镜像"
# 删除镜像
docker rmi demo
echo "打包镜像"
# 打包镜像
docker build -t demo .
echo "运行镜像"
# 运行镜像
docker run -d -p 9999:9999 --name demo demo
执行成功
浏览器输入:http://192.168.0.128:9000
运行成功
浏览器输入:http://192.168.0.128:9999/test/jenkins
本文详细的介绍了如何一步一步的通过Docker安装Jenkins项目集成工具、如何在Jenkins构建SpringBoot项目并打包成docker镜像,最终得以运行。具体的步骤为:安装Docker—>安装JDK、Maven环境—>安装Jenkins—>搭建SpringBoot项目—>通过git上传代码—>使用Jenkins构建自动打包—>通过jenkins把jar包打成docker镜像,并运行在docker中—>通过Portainer查看容器运行情况—>最后在Windows下进行访问