云效使用私有构建机运行shell命令打出的镜像,有办法作为下一个阶段的入参吗?发现了一个bug。
以下为热心网友提供的参考意见
是的,您可以将云效使用私有构建机运行shell命令打出的镜像作为下一个阶段的入参。
在云效中,您可以使用“构建变量”功能来实现这一点。具体来说,您可以在当前阶段的“构建后操作”中添加一个“执行Shell脚本”任务,该任务用于获取私有构建机的镜像ID,并将其保存到一个环境变量中。然后,在下一个阶段中,您可以使用这个环境变量作为入参来引用该镜像。
例如,假设您在当前阶段中使用以下命令获取私有构建机的镜像ID:
IMAGE_ID=$(docker images | grep "" | awk '{print $3}')
其中,是您的私有仓库地址。然后,您可以将该镜像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 .
以下为热心网友提供的参考意见
是的,您可以将私有构建机运行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
指令来使用该镜像作为基础镜像。
以下为热心网友提供的参考意见
我理解你可以自定义镜像构建了,不知道符合你的预期不
,此回答整理自钉群“云效客户服务权益4群”
本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:https://www.cnzhanzhang.com/20208.html