注:目前该功能处于公测阶段,现征集10家企业优先免费体验,如果您有需要,请通过页面右下角‘提问’悬浮球联系我们,或者文末钉钉扫码联系此功能的技术顾问。
为什么需要自定义构建镜像?
构建环境的需求是复杂多样的,虽然我们提供了一些基础的构建镜像,比如Java、Python等,但是仍然有些场景无法满足:
- 编程语言在不断演进,新的语言层出不穷,会有覆盖不到的语言或者特定版本。比如我们的Java8构建环境提供了
jdk-8u161
,但你需要的是jdk-8u162
。 - 目前编译环境都是针对单个语言的,无法支持两种或以上的语言的同时编译。比如同时使用Node和Java。
- 编译过程需要下载特定的依赖(非maven和npm仓库)或工具,下载时长会影响构建速度。
在这些情况下,我们通过自定义构建镜像的方式,满足您的特殊编译需求。
如何制作自定义构建镜像?
您可以按照如下的方式编写DockerFile,制作镜像。
- 使用我们指定的基础镜像。
- 安装软件和设置环境变量(注意:admin为构建使用账号,不要删除或修改UID;镜像大小需控制在1G之内,不要安装过大的软件)。
- 镜像上传到阿里云或其他公网可访问的registry,且为公开权限。
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
如何使用自定义构建镜像?
镜像上传成功后,您可以在企业管理->【构建镜像管理】(如果您看不到该菜单,请按照文章开头的方式联系我们)里录入该镜像的信息,并且修改代码库的根目录下的<appName>.release
文件,添加镜像配置:build.image=<your image repo url>
。当您再次触发构建时,就会使用配置的镜像作为构建环境。