简单自动化部署一个springboot项目


参考:https://blog.csdn.net/weixin_44777669/article/details/110789051

首先我们先新建一个springboot项目然后上传到码云

这里我已经上传好了,大家也可以用这个来测试:https://gitee.com/xiaoyou66/jenkins_test

jenkins

这里我们不使用docker部署,因为我们需要在本地构建镜像并运行,安装教程参考

https://www.jenkins.io/zh/doc/book/installing/

我们下载好war包后,可以自己写一个启动脚本,脚本内容如下,这样Jenkins就可以自动挂后台了

nohup java -jar jenkins.war --httpPort=8081 >web.log 2>&1 &

安装好后我们打开Jenkins:

全局设置

安装好后我们来进行一下全局配置,进入Manage Jenkins-》Global Tool Configuration,我们配置一下JDK,git和maven

JDK配置

我们jdk就手动下载,我们不用自动下载,jdk可以到https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html下载。下载`Linux x64 Compressed Archive`即可

下载好后我们为了方便起见就直接在根目录新建一个app文件夹,然后自己上传文件到这个文件夹使用:tar -zxf jdk-8u271-linux-x64.tar.gz来解压压缩包。然后文件夹重命名mv jdk1.8.0_271 jdk8

然后我们到Jenkins哪里配置一下,路径就是:/app/jdk8/

Git全局配置

我们的系统里面自带git,我们不用管,如果没有,自己安装一下就可以了

Maven配置

我们同样是手动下载Maven:https://maven.apache.org/download.cgi

下载好后我们同样是把下载的压缩包上传到app目录下然后解压,下面我们就配置一下路径/app/apache-maven-3.6.3

到这里我们的全局配置就搞完了

插件安装

开始部署

我们构建一个maven项目

配置如下

我们的项目是公开的,所以不需要填用户名密码,如果是私有的,自己添加一个就行

触发器我们也不搞,有需要的自己百度一下如何使用

构建环境我们不搞,不需要

Pre Steps这里放入我们的构建脚本

echo "stop and delete container"
CID=$(docker ps -a | grep "jenkins-test" | awk '{print $1}')
if [ -n "$CID" ]; then
echo "has container,CID=$CID"
docker stop $CID
docker rm $CID
fi
echo "delete image"
DID=$(docker images | grep "jenkins-test" | awk '{print $1}')
if [ -n "$DID" ]; then
docker rmi jenkins-test
fi
echo "build docker image"
mvn dockerfile:build
echo "current docker images:"
docker images | grep jenkins-test
echo "start container----->"
docker run -d -p 8085:8085 --name jenkins-test jenkins-test
echo "start success!"

springboot配置

首先我们要新建一个dockerFile,内容如下

FROM openjdk:8-jdk
COPY ./target .
#暴露端口,要修改
EXPOSE 8085
ENTRYPOINT ["java","-jar","/jenkins-test.jar"]

然后pom内容如下

<build>
	<finalName>jenkins-test</finalName>
	<plugins>
		<plugin>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-maven-plugin</artifactId>
		</plugin>

		<plugin>
			<groupId>com.spotify</groupId>
			<artifactId>dockerfile-maven-plugin</artifactId>
			<version>1.4.9</version>
			<configuration>
				<!--这里指定打包镜像的名称-->
				<repository>${project.build.finalName}</repository>
				<!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
				<buildArgs>
					<JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
				</buildArgs>
			</configuration>
		</plugin>

	</plugins>
</build>

配置好之后就可以直接自动构建了

构建好后,我们可以查看我们构建的镜像了


文章作者: 小游
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小游 !
  目录