自定义构建镜像

更新时间:

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

制作构建镜像

您需要按照如下的约束来编写构建环境使用的Dockerfile。

  • 使用指定的基础镜像:registry.cn-beijing.aliyuncs.com/rdc-builds/base:1.0

  • 根据需要,安装软件和设置环境变量(admin为构建使用账号,不要删除或修改UID)。

  • 整个镜像大小需控制在1G之内。(如需调整请提交工单)

  • 请不要自定义CMD,系统脚本已指定镜像的启动命令。否则,会影响镜像启动使得镜像上传失败。

一个完整的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 && \
    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,且为公开权限。

录入镜像信息

镜像上传成功后,在“企业管理”->“构建镜像管理”页面,点击【新增镜像】按钮进行录入。build-image-page

注意,为了保证镜像地址的准确性,云效要求精确到digest级别,所以要求镜像地址格式为:REPOSITORY@DIGEST,例如:registry.cn-hangzhou.aliyuncs.com/rdc-template/test-build@sha256:468da687c09b865e87641d2fff9de8feea048fb64ed98884214642248b364129

如果您更新了镜像,需要到云效更新镜像digest,才能保证构建使用的是更新后的镜像。

使用构建镜像

在代码库的根目录下的<appName>.release文件,添加镜像配置:build.image=<your image repo url><your image repo url>需要与在镜像录入页面填写的镜像地址保持一致。修改后触发构建,新的构建会使用配置的镜像作为构建环境。