springboot 适配ARM 架构

  1. 下载对应的maven    

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

2、下载对应的jdk

https://hub.docker.com/_/openjdk/tags?page=&page_size=&ordering=&name=8u332

docker 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 $HPASSWD
                    docker 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 $HPASSWD
                    docker push reg.xxx.com/dev/xx-arm64:1.0
                    '''
                }
            }
        }
    }
}

对应的DockerFile

ARG BASE_IMAGE
FROM ${BASE_IMAGE}
 
ADD target/xxx.jar  /opt/xxx.jar
 
WORKDIR /var/www/app

EXPOSE 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" ]

相关推荐

  1. 达梦数据库Springboot+MybatisPlus+达梦数据库

    2024-07-16 08:02:04       53 阅读
  2. Apollo2.2.0 arm 达梦 人大金仓

    2024-07-16 08:02:04       54 阅读
  3. Hisilicon按键

    2024-07-16 08:02:04       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 08:02:04       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 08:02:04       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 08:02:04       58 阅读
  4. Python语言-面向对象

    2024-07-16 08:02:04       69 阅读

热门阅读

  1. AppML 案例:Products

    2024-07-16 08:02:04       22 阅读
  2. 深度学习--基础语法

    2024-07-16 08:02:04       18 阅读
  3. QT在PC开发中多串口通信有哪些方法

    2024-07-16 08:02:04       22 阅读
  4. 思科与华为交换机常用命令对比

    2024-07-16 08:02:04       21 阅读
  5. flutter ios打包 xcode报错module ‘xxx‘ not found

    2024-07-16 08:02:04       19 阅读
  6. 实验四:图像的锐化处理

    2024-07-16 08:02:04       25 阅读
  7. 共享库链接和加载时的路径搜索优先级

    2024-07-16 08:02:04       30 阅读