当云效的构建环境中预置的编译环境不能满足您的要求时。您可以使用构建自定义镜像的功能来定制所需的构建环境。
创建自定义镜像
根据您的需求,编写构建环境使用的Dockerfile,安装软件和设置环境变量。典型示例如下:
FROM registry.cn-beijing.aliyuncs.com/rdc-builds/base:1.0 RUN cd /tmp && \ wget http://rdc-public-software.oss-cn-hangzhou.aliyuncs.com/jdk-7u80-linux-x64.tar.gz && \ mkdir -p /srv/java && \ tar xf jdk-7u80-linux-x64.tar.gz -C /srv/java && \ ln -s /srv/java/jdk* /srv/java/jdk ENV JAVA_HOME=/srv/java/jdk \ PATH=${PATH}:/srv/java/jdk/bin:/srv/java
说明如果您不使用
registry.cn-beijing.aliyuncs.com/rdc-builds/base:1.0
作为您的基础镜像,您需要确保您的镜像中包含 jq和bash,并且确保默认用户为root。创建自定义的镜像,在本地环境调试通过后,将自定义镜像上传到阿里云或其他公网可访问的registry。
docker build -t myimage:latest -f /path/to/a/Dockerfile .
说明创建镜像命令,可以自定义设置镜像名
myimage
和标签latest
,而.
是上下文路径,如果在Dockerfile当前目录下执行就省略了设置路径-f
选项。通过以下命令验证,如果镜像可以正常启动,则可以在云效构建环境中使用。
docker run -w /root/workspace --entrypoint=/bin/bash -it $image
配置自定义镜像构建节点
在流水线编排中配置自定义镜像构建节点。
输入您的自定义镜像地址和构建命令,如果您的镜像为非公开镜像,也可以使用私有构建镜像。
执行自定义镜像构建步骤报错Failed to pull image
确认私有仓库的镜像是否存在。
确认步骤配置的服务连接/鉴权密钥是否正确。
执行自定义镜像构建步骤没有运行日志
确认私有镜像是否安装jq。
确保私有镜像默认用户为root。
该文章对您有帮助吗?