当前位置: 首页 > news >正文

springboot 适配ARM 架构

  1. 下载对应的maven    

    https://hub.docker.com/_/maven/tags?page=&page_size=&ordering=&name=3.5.3-alpinedocker pull maven:3.5.3-alpine@sha256:4c4e266aacf8ea6976b52df8467134b9f628cfed347c2f6aaf9e6aff832f7c45

2、下载对应的jdk

https://hub.docker.com/_/openjdk/tags?page=&page_size=&ordering=&name=8u332docker pull openjdk:8u332@sha256:a113091e38c3fa501056c435e8884dccc999569fa1be2b35be1cdee0502752c6

 docker save -o   自定义名称.tar   xxxx 下载的镜像

docker load -i  自定义名称.tar

docker tag xxxx:v1  xxxx:xxx:xxxx

3、jenkin打包  docker login 验证【通过jenkin构建的项目构建记录,找到回放

steps {withCredentials([usernamePassword(credentialsId: 'harbor-xxx', passwordVariable: 'HPASSWD', usernameVariable: 'HUSER')]) {sh '''docker build --build-arg BASE_IMAGE=reg.xxx.com/library/arm64/openjdk:8u332-nc -f xxx/Dockerfile -t reg.xxx.com/dev/xx-arm64:1.0 .docker login reg.xxx.com -u $HUSER -p $HPASSWDdocker push reg.xxx.com/dev/xx-arm64:1.0'''}}

完整的JenkinFile

pipeline {agent {docker {image 'reg.xxx.com/library/arm64/maven-arm64:3.5.3'args '-v /root/.m2:/root/.m2 -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/kubectl:/usr/bin/kubectl'label 'arm64'}}stages {stage('build') {steps {sh 'mvn clean package -U -P ${active_profile}'}}stage('deploy') {                                                                                   steps {withCredentials([usernamePassword(credentialsId: 'harbor-xxx', passwordVariable: 'HPASSWD', usernameVariable: 'HUSER')]) {sh '''docker build --build-arg BASE_IMAGE=reg.xxx.com/library/arm64/openjdk:8u332-nc -f xxx/Dockerfile -t reg.xxx.com/dev/xx-arm64:1.0 .docker login reg.xxx.com -u $HUSER -p $HPASSWDdocker push reg.xxx.com/dev/xx-arm64:1.0'''}}}}
}

对应的DockerFile

ARG BASE_IMAGE
FROM ${BASE_IMAGE}ADD target/xxx.jar  /opt/xxx.jarWORKDIR /var/www/appEXPOSE 7999#环境变量 JAVA_OPTS DEBUG_OPTS JMX_OPTS SPRING_CONFIG 由k8s传入
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS $DEBUG_OPTS $JMX_OPTS -jar /opt/xxx.jar --spring.config.location=$SPRING_CONFIG" ]

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • linux centos limits.conf 修改错误,无法登陆问题修复 centos7.9
  • Git无法验证服务器证书
  • redis讲解与介绍
  • ## 基础知识
  • Jira学习
  • 为什么要使用加密软件?
  • 区块链与云计算的融合:新时代数据安全的挑战与机遇
  • 状态管理的艺术:探索Flutter的Provider库
  • 51单片机STC89C52RC——19.1 SG90舵机(伺服电机)
  • 16_网络IPC1-套接字描述符
  • 值的注意React中的一些默认行为和优化(一)
  • PHP多功能投票微信小程序系统源码
  • 【计算机毕业设计】002基于weixin小程序家庭记账本
  • rancher单节点安装k8s
  • dhtmlx-gantt甘特图数据展示
  • 2017-08-04 前端日报
  • canvas 绘制双线技巧
  • Java IO学习笔记一
  • Java 最常见的 200+ 面试题:面试必备
  • Java方法详解
  • Laravel 实践之路: 数据库迁移与数据填充
  • MySQL用户中的%到底包不包括localhost?
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 记录一下第一次使用npm
  • 警报:线上事故之CountDownLatch的威力
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 用jquery写贪吃蛇
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • #Datawhale AI夏令营第4期#AIGC文生图方向复盘
  • #DBA杂记1
  • #NOIP 2014#Day.2 T3 解方程
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (5)STL算法之复制
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (剑指Offer)面试题34:丑数
  • (六)vue-router+UI组件库
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (四)Android布局类型(线性布局LinearLayout)
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (转)Sql Server 保留几位小数的两种做法
  • (转)VC++中ondraw在什么时候调用的
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • ***检测工具之RKHunter AIDE
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .NET Core引入性能分析引导优化
  • .NET NPOI导出Excel详解
  • .Net6使用WebSocket与前端进行通信
  • .net中我喜欢的两种验证码
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • .sdf和.msp文件读取
  • :not(:first-child)和:not(:last-child)的用法
  • [ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(十)RCE (远程代码/命令执行漏洞)相关面试题
  • [].shift.call( arguments ) 和 [].slice.call( arguments )
  • [3D基础]理解计算机3D图形学中的坐标系变换
  • [ASP.NET MVC]Ajax与CustomErrors的尴尬