IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Jenkins自动部署springboot的Docker镜像,解决Status [1]问题 -> 正文阅读

[Java知识库]Jenkins自动部署springboot的Docker镜像,解决Status [1]问题

Jenkins凡是要指定路径的命令,一定要写绝对路径,不能写相对路径!不要以为配置了Remote directory,那么命令就会在Remote directory下执行!这种想法是错误的!!!

《jenkins自动化发布到服务器并自动运行》

第1种方法:使用外部Jar包完成自动化部署(简单方便),正式环境更新jar包时,备份一下旧的的jar包即可。

修改jenkins项目配置

Pre Steps 构建前清除旧的jar包,然后停止容器

在这里插入图片描述

rm -rf /jenkins/gitlabdemo/*
docker stop gitlabdemo

Post Steps构建启动容器

在这里插入图片描述

docker start gitlabdemo

先执行一次jenkins构建,会报ERROR: Exception when publishing, exception message [Exec exit status not zero. Status [1]],这个错是因为我们没有相应的容器。这时候我们去部署服务器执行一次下面这条命令即可。
-v后面的jar包路径无法模糊匹配,所以修改版本号的时候,也要相应修改docker命令

docker run -d -p 9090:9090 --privileged=true --restart=always --name gitlabdemo -v /jenkins/gitlabdemo/gitlabdemo-1.jar:/gitlabdemo/gitlabdemo.jar openjdk:8-jre-alpine java -jar /gitlabdemo/gitlabdemo.jar

然后重新执行一次jenkins构建


第2种方法:Dockerfile打包成docker镜像(灵活),相对来说比较麻烦一点,而且占用存储空间比较多!

springboot项目根路径与pom.xml同级创建Dockerfile文件

在这里插入图片描述

#jdk版本
FROM openjdk:8-jre-alpine
#时区
ENV TZ=Asia/Shanghai
#JVM参数
ENV JAVA_OPTS="-Xms256m -Xmx256m"
#映射端口
EXPOSE 9090 9090
#指定工作文件夹,那么执行Dockerfile也要进入到这个文件夹执行,否则会报错
WORKDIR /jenkins/gitlabdemo
#把jar包放入镜像内
ADD gitlabdemo*.jar /gitlabdemo.jar
#启动参数
ENTRYPOINT ["nohup","java","-jar","/gitlabdemo.jar","&"]

推送到gitlab以后,回到jenkins

Pre Steps(构建前)

在这里插入图片描述
这个rm -rf一定要指定到具体的文件夹,否则会执行失败!不要以为上面指定了remote dir,就以为当前在remote dir下!这种想法是错误的!凡是需要到某个目录的均要指定绝对路径!!!

rm -rf /jenkins/gitlabdemo/*
docker stop gitlabdemo
docker rm -f gitlabdemo
docker rmi -f gitlabdemo

Post Steps(构建)

第1个Transfer Set

在这里插入图片描述

第2个Transfer Set

在这里插入图片描述
再次申明一次!不要以为配置了Remote directory,那么命令就会在Remote directory下执行!这种想法是错误的!!!

cd /jenkins/gitlabdemo && docker build -t gitlabdemo . && docker run -d -p 9090:9090 --name gitlabdemo gitlabdemo

关于:ERROR: Exception when publishing, exception message [Exec exit status not zero. Status [1]]
这个错误就是你的命令有问题,即Exec command下写的命令有问题!首先排查执行命令时是否指定了文件的路径!如:sh a.sh。假设文件路径是/root/a.sh。这样执行就会有问题!因此应该写成sh /root/a.sh

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-12-25 10:52:39  更:2022-12-25 10:58:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/19 13:19:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码