springboot 适配ARM 架构

发布于:2024-07-16 ⋅ 阅读:(137) ⋅ 点赞:(0)
  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" ]


网站公告

今日签到

点亮在社区的每一天
去签到