云原生

13-Jenkins-使用Dockerfile生成镜像

2021-12-17  本文已影响0人  紫荆秋雪_文

一、Dockerfile

FROM openjdk:8-jre-alpine
LABEL maintainer="Raven"
COPY target/*.jar /app.jar
RUN apk add -U tzdata; \
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime; \
echo 'Asia/Shanghai' >/etc/timezone; \
touch /app.jar;

ENV JAVA_OPTS=""
ENV PARAMS=""

EXPOSE 8000
ENTRYPOINT [ "sh", "-c", "java -Djava.security.egd=file:/dev/./urandom $JAVA_OPTS -jar /app.jar $PARAMS" ]

# 运行命令 docker run -e JAVA_OPTS="-Xmx512m -Xms33 -" -e PARAMS="--spring.profiles=dev --server.port=8080" -jar /app/app.jar

二、生成镜像

        stage('生成镜像'){
            steps {
                echo'生成镜像'
                // 当前所在位置
                sh 'pwd && ls -alh'
                //  当前可用的环境信息
                sh 'printenv'
                // 使用 Dockerfile 来生成镜像
                sh 'docker build -t jenkins-pipeline .'
            }
        }
执行生成镜像命令失败.png

失败原因:没有jar包

sh 'cd "${WORKSPACE}" && mvn clean package -s "/var/jenkins_home/appConfig/maven/settings.xml" -Dmaven.test.skip=true'
image.png
    // 定义环境变量
    environment {
        WORKSPACE_ENV = "${WORKSPACE}"
    }
sh 'cd "${WORKSPACE_ENV}" && mvn clean package -s "/var/jenkins_home/appConfig/maven/settings.xml" -Dmaven.test.skip=true'
生成镜像.png
no main manifest attribute, in /app.jar
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
上一篇 下一篇

猜你喜欢

热点阅读