云效在Dockerfile里这样写,在流水线这样定义的变量,但是打出的镜像里没有jar包,怎么处理?[阿里云云效]

云效在Dockerfile里这样写的:ADD ${JAR} /opt/app.jar,在流水线里这样定义的变量,但是打出的镜像里没有jar包,怎么处理?
是不是少了定义这个变量,增加一行:ARG JAR?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
1 条回复 A 作者 M 管理员
  1. 是的,你缺少了一步,那就是定义JAR变量的值。在云效中,你可以使用”set”命令来定义变量。以下是一个基本的示例:

    version: 0.2phases:  install:    commands:      - echo "Installing dependencies..."  build:    commands:      - echo "Building the Docker image..."      - docker build -t myimage:latest .  post_build:    commands:      - echo "Pushing the Docker image to ECR..."      - docker push myimage:latest  # Define the value of the JAR variable      - set -x JAR=myjar.jar

    在这个示例中,我们在"install"阶段使用"set -x"命令定义了一个名为"JAR"的变量,并将其值设置为"myjar.jar"。然后,我们在Dockerfile中使用"ADD"命令将这个jar包添加到Docker镜像中。

  2. 您得用ARG接收一下,比如:
    此回答整理自钉群“云效交付域答疑群”