开发者社区 > 云效DevOps > 正文

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

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

展开
收起
三分钟热度的鱼 2023-10-18 20:01:49 93 0
2 条回答
写回答
取消 提交回答
  • 是的,你缺少了一步,那就是定义JAR变量的值。在云效中,你可以使用"set"命令来定义变量。以下是一个基本的示例:

    version: 0.2
    phases:
      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镜像中。

    2023-10-21 17:21:05
    赞同 展开评论 打赏
  • 您得用ARG接收一下,比如:lQLPJx802WJA8czNAcLNAkCwRux1JgOqCh8FGkG-F8C5AA_576_450.png
    此回答整理自钉群“云效交付域答疑群”

    2023-10-18 20:15:15
    赞同 展开评论 打赏

云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。

热门讨论

热门文章

相关电子书

更多
云效2.0-智能化运维平台 立即下载
云效助力企业软件供应链生产效能提升 立即下载
基于阿里云K8S服务快速构建DevOps流水线 资料下载 立即下载