自定义镜像构建环境

当云效的构建环境中预置的编译环境不能满足您的要求时。您可以使用构建自定义镜像的功能来定制所需的构建环境。

创建自定义镜像

  1. 根据您的需求,编写构建环境使用的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 作为您的基础镜像,您需要确保您的镜像中包含 jqbash,并且确保默认用户为root。

  2. 创建自定义的镜像,在本地环境调试通过后,将自定义镜像上传到阿里云或其他公网可访问的registry。

    docker build -t myimage:latest -f /path/to/a/Dockerfile .
    说明

    创建镜像命令,可以自定义设置镜像名myimage和标签latest,而.是上下文路径,如果在Dockerfile当前目录下执行就省略了设置路径-f选项。

  3. 通过以下命令验证,如果镜像可以正常启动,则可以在云效构建环境中使用。

    docker run -w /root/workspace --entrypoint=/bin/bash -it $image

配置自定义镜像构建节点

  1. 在流水线编排中配置自定义镜像构建节点。

  2. 输入您的自定义镜像地址和构建命令,如果您的镜像为非公开镜像,也可以使用私有构建镜像。

执行自定义镜像构建步骤报错Failed to pull image

image

  1. 确认私有仓库的镜像是否存在。

  2. 确认步骤配置的服务连接/鉴权密钥是否正确。

执行自定义镜像构建步骤没有运行日志

image

  1. 确认私有镜像是否安装jq

  2. 确保私有镜像默认用户为root。