一、宿主机准备


1.宿主机首先需要安装JDK

【Linux】CentOS7下安装JDK详细过程

  1. #1 卸载系统自带的OpenJDK以及相关的java文件
  2. java -version
  3. #2 查询文件
  4. rpm -qa | grep java
  5. 以上文件中:
  6. 下面这几个可以删除
  7. java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
  8. java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
  9. java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64
  10. java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64
  11. noarch文件可以不用删除
  12. python-javapackages-3.4.1-11.el7.noarch
  13. tzdata-java-2016g-2.el7.noarch
  14. javapackages-tools-3.4.1-11.el7.noarch
  15. # 3完整的删除文件的命令,在命令窗口键入
  16. rpm -e --nodeps java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
  17. rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
  18. rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64
  19. rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64
  20. #4 验证是否删除
  21. java -version
  22. #5 下载稳定版本jdk
  23. ①下载地址为
  24.   当前最新版本下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
  25.   历史版本下载地址:  http://www.oracle.com/technetwork/java/javase/archive-139210.html
  26. #6 解压jdk
  27. tar -zxvf jdk-8u144-linux-x64.tar.gz
  28. #7 配置JDK环境变量
  29. vim /etc/profile
  30. #在文件中添加
  31. #java environment
  32. export JAVA_HOME=/usr/java/jdk1.8.0_144
  33. export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
  34. export PATH=$PATH:${JAVA_HOME}/bin
  35. #vim 退出保存
  36. wq!
  37. # 设置环境变量生效
  38. source /etc/profile
  39. # 验证配置是否成功
  40. java -version
  41. #显示版本 java version "1.8.0_144" 成功

2.宿主机需要安装docker+dokcer compose +gitea

https://www.yuque.com/bridge-juhge/nv9fe8/qln4he

3.宿主机首先需要安装maven

进入/usr/local/

cd /usr/local/

# 下载maven包
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

#解压
tar -zxvf apache-maven-3.6.3-bin.tar.gz
修改配置文件settings.xml,使用了阿里云的Maven仓库 (可选)

cd /usr/local/maven-3.6.3/conf/
vi settings.xml

  1. <mirror>
  2. <id>aliyunmaven</id>
  3. <mirrorOf>*</mirrorOf>
  4. <name>阿里云公共仓库</name>
  5. <url>https://maven.aliyun.com/repository/public</url>
  6. </mirror>

添加环境变量
vi /etc/profile

  1. export M2_HOME=/app/maven/apache-maven-3.6.3
  2. export PATH=$PATH:${M2_HOME}/bin

source /etc/profile

验证是否安装成功

mvn -version

  1. #输出如下现象表示成功
  2. Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
  3. Maven home: /usr/local/maven-3.6.3
  4. Java version: 1.8.0_131, vendor: Oracle Corporation, runtime: /usr/local/jdk1.8.0_131/jre
  5. Default locale: en_US, platform encoding: UTF-8
  6. OS name: "linux", version: "3.10.0-1160.36.2.el7.x86_64", arch: "amd64", family: "unix"

二、安装jenkins及其插件并运行jenkins容器

参考链接 docker安装jenkins并部署项目

1.docker安装jenkins

下载镜像
docker pull jenkins/jenkins:lts

创建磁盘路径
mkdir /usr/local/jenkins

启动jenkins容器的时候挂载宿主机上JDK和MAVEN的路径
docker run -d -p 8080:8080 -p 50000:50000 —name jenkins —privileged=true —restart=always -v /usr/local/jenkins:/var/jenkins_home -v /usr/local/maven-3.6.3:/usr/local/maven -v /usr/local/jdk1.8.0_131:/usr/local/java -v /root/.ssh:/root/.ssh -u 0 jenkins/jenkins:lts

  1. docker run -d
  2. -p 8080:8080
  3. -p 50000:50000 -
  4. -name jenkins --privileged=true
  5. --restart=always
  6. -v /usr/local/jenkins:/var/jenkins_home
  7. -v /usr/local/maven-3.6.3:/usr/local/maven
  8. -v /usr/local/jdk1.8.0_131:/usr/local/java
  9. -v /root/.ssh:/root/.ssh -u 0 jenkins/jenkins:lts
  10. # 映射端口
  11. -p 8080:8080
  12. -p 50000:50000 -
  13. # 开机自动启动
  14. --restart=always
  15. # 目录映射
  16. -v /usr/local/jenkins:/var/jenkins_home
  17. -v /usr/local/maven-3.6.3:/usr/local/maven
  18. -v /usr/local/jdk1.8.0_131:/usr/local/java
  19. -v /root/.ssh:/root/.ssh -u 0 jenkins/jenkins:lts

登录jenkins和配置jdk和maven
#查看密码
cat /usr/local/jenkins/secrets/initialAdminPassword
—》cat 1b9c29a3db9d42ef8cab6266d8a5794d

image.png

2.jenkins安装maven插件

1.新安装的Jenkins新建一个任务,点击创建一个新任务,无法选择创建一个maven项目,需要安装如图插件。
image.png


3.jenkin配置jdk、git、maven

jdk
image.png

git
image.png

maven
image.png

4.创建一个maven项目

新建项目
image.png

配置保留时间
image.png

配置源码地址,此处使用账号密码
image.png
配置分支
image.png

配置maven
clean install -Dmaven.test.skip=true -Ptest
image.png

执行xshell脚本
image.png

5.执行脚本

  1. #!/bin/bash
  2. echo "Stopping SpringBoot Application"
  3. # 定义变量
  4. pid="ps -ef | grep test-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'"
  5. #此处test-0.0.1-SNAPSHOT.jar根据自己的jar包名称修改
  6. file="/usr/application/test/test-0.0.1-SNAPSHOT.jar"
  7. # 将应用停止
  8. echo "kill test start"
  9. if [ -n "$pid" ]
  10. then
  11. kill -9 $pid
  12. echo "kill test start end"
  13. fi
  14. #replace.sh 用于将上次构建的结果备份,然后将新的构建结果移动到合适的位置
  15. # 先判断文件是否存在,如果存在,则备份
  16. if [ -f "$file" ]
  17. then
  18. mv /usr/application/test/test-0.0.1-SNAPSHOT.jar.`date +%Y%m%d%H%M%S`
  19. fi
  20. mv /usr/local/jenkins/workspace/test/target/test-0.0.1-SNAPSHOT.jar /usr/application/test/test-0.0.1-SNAPSHOT.jar
  21. #此处 /home/admin/workspace/test-0.0.1-SNAPSHOT.jar根据自己实际jar包名称和路径修改
  22. BUILD_ID=dontKillMe nohup java -jar /usr/application/test/test-0.0.1-SNAPSHOT.jar &
  23. #根据自己jar包的名称、地址修改