目录
- 1.首先下载maven拉取到服务器
- 2.解压maven并进入解压文件修改setting.xml
- 2.拉取jdk18到服务器并解压
- 3.将jdk还有maven移动到jenkins的挂载目录
- 4.进入jenkins容器
- 5.在jenkins的全局配置中配置jdk与maven
- 6.jenkins安装插件 Publish Over SSH
- 7.jenkins服务器创建一个jar包存放目录
- 7.进入系统配置修改Publish over SSH
- 8.创建一个java项目上传到gitlab
- 9.jenkins拉取gitlab代码
- 10.job构建操作打包
- 11.推送jar包到目标服务器
- 12.项目编写dockerfile与docker-compose.yml
- 13.jenkins配置构建后操作
1.首先下载maven拉取到服务器
Maven下载地址
2.解压maven并进入解压文件修改setting.xml
- 添加阿里云镜像地址
</mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
- 添加jdk8编译
</profiles>
<profile>
<id>jdk8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
- 激活profile
<activeProfiles>
<activeProfile>jdk8</activeProfile>
</activeProfiles>
2.拉取jdk18到服务器并解压
[root@npy home]# ls
gitlab java jdk jenkins maven
3.将jdk还有maven移动到jenkins的挂载目录
[root@npy home]# ls
gitlab java jdk jenkins maven
[root@npy home]# mv jdk/ /home/jenkins/jenkins_mount
[root@npy home]# mv maven/ /home/jenkins/jenkins_mount
[root@npy home]# ls
gitlab java jenkins
4.进入jenkins容器
docker exec -it f315593f41fc bash
找到jdk与maven的目录
jenkins@f315593f41fc:~$ cd jdk/
jenkins@f315593f41fc:~/jdk$ ls
COPYRIGHT LICENSE README.html THIRDPARTYLICENSEREADME-JAVAFX.txt THIRDPARTYLICENSEREADME.txt bin db include javafx-src.zip jre lib man release src.zip
jenkins@f315593f41fc:~/jdk$ pwd
/var/jenkins_home/jdk
jenkins@f315593f41fc:~$ cd maven/
jenkins@f315593f41fc:~/maven$ ls
LICENSE NOTICE README.txt bin boot conf lib
jenkins@f315593f41fc:~/maven$ pwd
/var/jenkins_home/maven
5.在jenkins的全局配置中配置jdk与maven
6.jenkins安装插件 Publish Over SSH
7.jenkins服务器创建一个jar包存放目录
[root@npy jenkins]# ls
jenkins_mount jenkins.war
[root@npy jenkins]# mkdir MavenScripts
[root@npy jenkins]# ls
jenkins_mount jenkins.war MavenScripts
[root@npy jenkins]# chmod 777 -R MavenScripts/
[root@npy jenkins]# ls
jenkins_mount jenkins.war MavenScripts
[root@npy jenkins]#
7.进入系统配置修改Publish over SSH
8.创建一个java项目上传到gitlab
9.jenkins拉取gitlab代码
教程看这个
10.job构建操作打包
应用保存之后重新构建,就会执行打包操作,第一次打包下载会有点慢,不要急哦。
进入workspace的项目的target就可以看到打包的文件了
[root@npy target]# ls
classes generated-sources generated-test-sources lover_story_back-0.0.1-SNAPSHOT.jar lover_story_back-0.0.1-SNAPSHOT.jar.original maven-archiver maven-status surefire-reports test-classes
[root@npy target]#
11.推送jar包到目标服务器
jenkins构建后操作
保存之后再次构建,会发现将target推送到了第七步的jar包存放路径
[root@npy jenkins]# cd MavenScripts/
[root@npy MavenScripts]# ls
[root@npy MavenScripts]# ls
target
[root@npy MavenScripts]#
12.项目编写dockerfile与docker-compose.yml
Dockerfile
FROM daocloud.io/library/java:openjdk-8u40-jdk
COPY lover_story.jar /usr/local
WORKDIR /usr/local
CMD java -jar lover_story.jar
docker-compose.yml
version: '3.1'
services:
lover_story:
build:
context: ./
dockerfile: Dockerfile
image: lover_story:v1.0.0
container_name: lover_story
ports:
- 8088:8080
13.jenkins配置构建后操作
cd /home/jenkins/MavenScripts/docker
mv ../target/*.jar ./
docker compsoe down
docker compose up -d --build
docker image prune -f
由于多次构建镜像会出现none的情况,因此需要添加清除操作:docker image prune -f
应用保存再次构建即可完成部署!
想要自动话上传构建可以看这个教程