docker安装jenkins 并实现自动化部署Springboot多模块 超详细!!

前言

!!!!跟着我的步骤来没问题!!!!

1. 安装jdk

#安装
yum install -y java-1.8.0-openjdk.x86_64
#查看版本
java -version

2. docker安装Jenkins

2.1 创建文件

cd /
mkdir -p /mydata/jenkins/jenkins_home 
mkdir -p /mydata/jenkins/localtime

2.2 拉取镜像创建容器

docker pull jenkins/jenkins:2.414.2
rt=always -u root -p 8080:8080 -p 50000:50000 -v /mydata/jenkins/jenkins_home:/var/jenkins_home -v /mydata/jenkins/localtime  --name jenkins jenkins/jenkins:2.414.2

在这里插入图片描述

2.3 初始化Jenkins

获取密码

docker logs jenkins

在这里插入图片描述

将上述密钥输入进去
在这里插入图片描述

2.4 Jenkins安装步骤

选择推荐的插件

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. 安装Maven

3.1 通过上传的形式安装

1.我使用的是apache-maven-3.6.3.tar.gz(可以将本地的压缩成这个格式上传)
2.上传到刚刚创建的文件夹 mydata里面
在这里插入图片描述

3.2 maven的挂载

tar -zxvf /mydata/apache-maven-3.6.3.tar.gz 

将文件解压到/mydata/jenkins/jenkins_home下

cp -r /mydata/apache-maven-3.6.3 /mydata/jenkins/jenkins_home

在这里插入图片描述

3.3 maven仓库的设置

这个要注意了,本地上传的要注意自己的仓库地址

<localRepository>/mydata/jenkins/jenkins_home/apache-maven-3.6.3/m2</localRepository>

在这里插入图片描述

4.Jenkins全局配置

路径:Dashboard > Manage Jenkins > Tools

4.1 maven配置 (都是容器内部的位置)

文件路径在jenkins容器当中

跟着我的步骤来是和我一样的位置(也就是你挂载的那个所在目录)
/var/jenkins_home/apache-maven-3.6.3/conf/settings.xml

#进入容器
docker exec -it jenkins bash

在这里插入图片描述

往下滑继续配置Maven
在这里插入图片描述

获取maven位置:/var/jenkins_home/apache-maven-3.6.3

在这里插入图片描述

4.3配置SSH

路径:Dashboard > Manage Jenkins > System

注意如果没有 Publish over SSH 需要去下载
在这里插入图片描述

#查看地址
ifconfig 

1.SSH Server Name 填你虚拟机IP或用户名
2.Hostname 填你的虚拟机IP
3.Username 默认root
4.Remote Directory 填 /
5.保存

在这里插入图片描述

4.3 构建自由风格

在这里插入图片描述

4.4 添加gitee仓库地址

在这里插入图片描述

4.5 添加gitee账号和密码(只写账号密码)

在这里插入图片描述

在这里插入图片描述

4.6 Build Steps设置

1.maven 选择刚刚的全局变量配置
2.目标填 clean install
3.pom 是git所拉取的代码存放在jenkins容器内部的位置
/var/jenkins_home/workspace/xxx/pom.xml
在这里插入图片描述

设置SSH
在这里插入图片描述
除了shell命令和我一样
在这里插入图片描述
以下2点 注意事项(写自己的挂载目录即可,跟着我的步骤一般和我一样)

1.cp /mydata/jenkins/jenkins_home/workspace/jy/jy-hall/jy-service/target/jy-service-1.0-SNAPSHOT.jar /mydata/jenkins/jenkins_home/jar/
2.nohup java -Xms300m -Xmx300m -jar /mydata/jenkins/jenkins_home/workspace/jy/jy-hall/jy-service/target/$APP_NAME   >$LOG_NAME 2>&1 &

在这里插入图片描述

cp /mydata/jenkins/jenkins_home/workspace/jy/jy-hall/jy-service/target/jy-service-1.0-SNAPSHOT.jar /mydata/jenkins/jenkins_home/jar/
#!/bin/bash
APP_NAME=jy-service-1.0-SNAPSHOT.jar
LOG_NAME=jy-service-1.0-SNAPSHOT.log

pid=`ps -ef | grep $APP_NAME | grep -v grep|awk '{print $2}'`

function is_exist(){
pid=`ps -ef | grep $APP_NAME | grep -v grep|awk '{print $2}'`
if [ -z ${pid} ]; then
String="notExist"
echo $String
else
String="exist"
echo $String
fi
}

str=$(is_exist)
if [ ${str} = "exist" ]; then
echo " 检测到已经启动的程序,pid 是 ${pid} "
kill -9 $pid
else
echo " 程序没有启动了 "
echo "${APP_NAME} is not running"
fi

str=$(is_exist)
if [ ${str} = "exist" ]; then
echo "${APP_NAME} 已经启动了. pid=${pid} ."
else
source /etc/profile
BUILD_ID=dontKillMe
nohup java -Xms300m -Xmx300m -jar /mydata/jenkins/jenkins_home/workspace/jy/jy-hall/jy-service/target/$APP_NAME   >$LOG_NAME 2>&1 &
echo "程序已重新启动..."
fi

5. 运行效果

我们只需要提交代码即可不需要,不需要执行java -jar xxxx.jar
在这里插入图片描述
在这里插入图片描述

6. 注意事项

springboot的启动类一定要加上这个不然会报错xxxx.jar中没有主清单属性

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
                <configuration>
                    <mainClass>xxx.xxx.xxxApplication</mainClass>
<!--    不能开            <skip>true</skip>-->
                </configuration>
                <executions>
                    <execution>
                        <id>repackage</id>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值