使用自定义构建发布

自定义构建功能,指通过读取代码库中的配置文件,根据配置文件指定的 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:在执行完构建命令之后,产物在代码目录的路径,不能为空。