自定义构建环境
背景信息
介绍当常用的编译构建环境无法满足构建需求时,如何使用自定义构建环境进行构建。
基础环境
系统使用EulerOS作为基础镜像,并提供多种构建常用的配置环境工具,内置环境工具如下:
- jdk 1.7、jdk 1.8、maven 、git、ant 、zip、unzip、gcc 、cmake 、make
- nodejs 6.x、nodejs 7.x、nodejs 8.x、nodejs 9.x、nodejs 10.x
- gradle 3.5.1、gradle 4.3、gradle 4.5.1、gradle 4.9、gradle 4.10.2、gradle 5.0、gradle 5.1.1
操作步骤
- 在编译构建首页单击“更多管理”,在下拉列表选择自定义构建环境。
- 进入自定义构建环境页面,选择合适的基础镜像,下载Dockerfile模板。
- 编辑下载的Dockerfile文件,加入项目需要的依赖和工具。
- 使用Dockerfile制作Docker镜像。
- 使用制作的镜像进行自定义镜像构建。
系统内置环境与命令
无论使用系统内置环境还是自定义命令,最终都会在Dockerfile文件中形成对应的命令,系统内置环境工具生成的Dockerfile命令如下:
系统环境 |
生成的Dockerfile命令 |
---|---|
jdk 1.7 |
yum install -y java-1.7.0-openjdk.x86_64 |
jdk 1.8 |
yum install -y java-1.8.0-openjdk.x86_64 |
maven latest |
yum install -y maven |
git latest |
yum install -y git |
ant latest |
yum install -y ant |
zip latest |
yum install -y zip |
unzip latest |
yum install -y unzip |
gcc latest |
yum install -y gcc |
cmake latest |
yum install -y cmake |
make latest |
yum install -y make |
nodejs 6.x |
yum install -y curl && curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - && yum install -y nodejs |
nodejs 7.x |
yum install -y curl && curl --silent --location https://rpm.nodesource.com/setup_7.x | bash - && yum install -y nodejs |
nodejs 8.x |
yum install -y curl && curl --silent --location https://rpm.nodesource.com/setup_8.x | bash - && yum install -y nodejs |
nodejs 9.x |
yum install -y curl && curl --silent --location https://rpm.nodesource.com/setup_9.x | bash - && yum install -y nodejs |
nodejs 10.x |
yum install -y curl && curl --silent --location https://rpm.nodesource.com/setup_10.x | bash - && yum install -y nodejs |
gradle 3.5.1 |
yum install -y unzip && yum -y install wget && wget https://downloads.gradle.org/distributions/gradle-3.5.1-bin.zip && unzip gradle-3.5.1-bin.zip -d /usr/local/gradle DOCKER_SPLITER ENV GRADLE_HOME=/usr/local/gradle/gradle-3.5.1 DOCKER_SPLITER ENV PATH=${GRADLE_HOME}/bin:${PATH} |
gradle 4.3 |
yum install -y unzip && yum -y install wget && wget https://downloads.gradle.org/distributions/gradle-4.3-bin.zip && unzip gradle-4.3-bin.zip -d /usr/local/gradle DOCKER_SPLITER ENV GRADLE_HOME=/usr/local/gradle/gradle-4.3 DOCKER_SPLITER ENV PATH=${GRADLE_HOME}/bin:${PATH} |
gradle 4.5.1 |
yum install -y unzip && yum -y install wget && wget https://downloads.gradle.org/distributions/gradle-4.5.1-bin.zip && unzip gradle-4.5.1-bin.zip -d /usr/local/gradle DOCKER_SPLITER ENV GRADLE_HOME=/usr/local/gradle/gradle-4.5.1 DOCKER_SPLITER ENV PATH=${GRADLE_HOME}/bin:${PATH} |
gradle 4.9 |
yum install -y unzip && yum -y install wget && wget https://downloads.gradle.org/distributions/gradle-4.9-bin.zip && unzip gradle-4.9-bin.zip -d /usr/local/gradle DOCKER_SPLITER ENV GRADLE_HOME=/usr/local/gradle/gradle-4.9 DOCKER_SPLITER ENV PATH=${GRADLE_HOME}/bin:${PATH} |
gradle 4.10.2 |
yum install -y unzip && yum -y install wget && wget https://downloads.gradle.org/distributions/gradle-4.10.2-bin.zip && unzip gradle-4.10.2-bin.zip -d /usr/local/gradle DOCKER_SPLITER ENV GRADLE_HOME=/usr/local/gradle/gradle-4.10.2 DOCKER_SPLITER ENV PATH=${GRADLE_HOME}/bin:${PATH} |
gradle 5.0 |
yum install -y unzip && yum -y install wget && wget https://downloads.gradle.org/distributions/gradle-5.0-bin.zip && unzip gradle-5.0-bin.zip -d /usr/local/gradle DOCKER_SPLITER ENV GRADLE_HOME=/usr/local/gradle/gradle-5.0 DOCKER_SPLITER ENV PATH=${GRADLE_HOME}/bin:${PATH} |
gradle 5.1.1 |
yum install -y unzip && yum -y install wget && wget https://downloads.gradle.org/distributions/gradle-5.1.1-bin.zip && unzip gradle-5.1.1-bin.zip -d /usr/local/gradle DOCKER_SPLITER ENV GRADLE_HOME=/usr/local/gradle/gradle-5.1.1 DOCKER_SPLITER ENV PATH=${GRADLE_HOME}/bin:${PATH} |
