自定义构建功能,指通过读取代码库中的配置文件,根据配置文件指定的 Docker 镜像,拉起容器进行构建。构建的步骤、执行命令、以及构件产物的定义都是在配置文件中进行配置。
构建过程
触发构建之后,系统根据接口提供的代码仓库地址,将代码下载下来。
读取构建配置文件内容并解析,根据配置对应的 Docker 镜像拉起容器,并在容器中执行构建命令。
构建成功之后,根据构建产物配置,将对应产物上传到对象存储(OSS)中。
配置文件
配置文件路径
默认读取代码目录下的 .linkb-build.yml
文件作为构建配置文件。
配置文件示例
配置文件以 YAML 进行构建的编排,以下为配置文件示例(SpringBoot 工程示例)。
build:
image: reg-docker.linke.alipay.com/maven-build/builder-maven3.6.0-jdk1.8:1.0.0
script:
- mvn --version
- mvn clean install -s ./settings.xml -Dmaven.test.skip=true-Dmaven.repo.local=$HOME/.m2
- tar zxvf target/output.tgz xxx_1/target/xxx.jar xxx_2/target/xxx.jar
artifacts:
-{
name:"demo-springboot-0.0.1-SNAPSHOT.jar",
desc:"Springboot executable fat jar",
paths:["target/demo-springboot-0.0.1-SNAPSHOT.jar"]
}
-{
name:"output.tgz",
paths:["target/output.tgz"]
}
image 标签:指定构建所使用的容器。示例中的
reg-docker.linke.alipay.com/maven-build/builder-maven3.6.0-jdk1.8:1.0.0
是目前唯一支持的 Docker 镜像。其中,镜像提供了一个 CentOS 7 的容器环境,容器中配置了 Maven 3.6.0 和 JDK 1.8。script 标签:指定构建所需要执行的 Shell 命令,从上到下依次执行。
artifacts 标签:指定构建的产物,支持依次构建多个产物的配置。其中:
name
:表示依次构建的产物名称。在 artifacts 中,每个产物的name
必须唯一,不能为空。desc
:构建产物的描述,可以为空。paths
:在执行完构建命令之后,产物在代码目录的路径,不能为空。
文档内容是否对您有帮助?