自定义构建镜像
当构建环境中预置的编译环境不能满足您的要求时。您可以使用自定义构建镜像的功能来定制所需的构建环境。
制作构建镜像
您需要按照如下的约束来编写构建环境使用的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,且为公开权限。
录入镜像信息
镜像上传成功后,在“企业管理”->“构建镜像管理”页面,点击【新增镜像】按钮进行录入。
注意,为了保证镜像地址的准确性,云效要求精确到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>
需要与在镜像录入页面填写的镜像地址保持一致。修改后触发构建,新的构建会使用配置的镜像作为构建环境。