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

云效使用私有构建机运行shell命令打出的镜像,有办法作为下一个阶段的入参吗?发现了一个bug。

云效使用私有构建机运行shell命令打出的镜像,有办法作为下一个阶段的入参吗?发现了一个bug。

展开
收起
真的很搞笑 2024-01-03 21:54:07 58 0
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    是的,您可以将云效使用私有构建机运行shell命令打出的镜像作为下一个阶段的入参。

    在云效中,您可以使用“构建变量”功能来实现这一点。具体来说,您可以在当前阶段的“构建后操作”中添加一个“执行Shell脚本”任务,该任务用于获取私有构建机的镜像ID,并将其保存到一个环境变量中。然后,在下一个阶段中,您可以使用这个环境变量作为入参来引用该镜像。

    例如,假设您在当前阶段中使用以下命令获取私有构建机的镜像ID:

    IMAGE_ID=$(docker images | grep "<your-private-registry>" | awk '{print $3}')
    

    其中,<your-private-registry>是您的私有仓库地址。然后,您可以将该镜像ID保存到一个名为IMAGE_ID的环境变量中:

    echo "IMAGE_ID=${IMAGE_ID}" >> build.env
    

    最后,在下一个阶段中,您可以使用${IMAGE_ID}来引用该镜像。例如,如果您需要在该阶段中使用该镜像来构建一个新的镜像,可以使用以下命令:

    docker build --build-arg IMAGE_ID="${IMAGE_ID}" -t my-new-image:latest .
    
    2024-01-04 14:37:38
    赞同 展开评论 打赏
  • 是的,您可以将私有构建机运行shell命令打出的镜像作为下一个阶段的入参。具体来说,您可以在云效流水线中添加一个「Shell 脚本」步骤,在该步骤中使用 docker build 命令来构建镜像,并将该镜像作为下一步的入参。

    例如,假设您已经使用私有构建机运行了以下 shell 命令:

    docker build -t my-image:v1.0 .
    

    这条命令会在当前目录下构建一个名为 my-image、标签为 v1.0 的镜像。接下来,您可以在云效流水线中添加一个「Shell 脚本」步骤,并在其中执行以下命令:

    docker tag my-image:v1.0 $ALIYUN_CLOUD_REPOSITORY_NAME/my-image:v1.0
    

    这条命令会将本地的 my-image 镜像打上阿里云的镜像仓库地址和标签,以便将其上传到阿里云的镜像仓库中。然后,您可以在下一步中使用该镜像作为入参,例如通过指定 FROM 指令来使用该镜像作为基础镜像。

    2024-01-04 10:52:29
    赞同 展开评论 打赏
  • 我理解你可以自定义镜像构建了,不知道符合你的预期不image.png
    ,此回答整理自钉群“云效客户服务权益4群”

    2024-01-03 23:44:01
    赞同 展开评论 打赏

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

热门讨论

热门文章

相关电子书

更多
云效2.0 ——敏捷项目管理实践及工具落地 立即下载
云效2.0生态合作策略 立即下载
云效2.0-智能化运维平台 立即下载