流水线上的构建任务
构建任务,是云效流水线上的一类任务,它负责构建打包,供后续的部署任务使用。
构建任务的运行
构建任务一般不需要在运行时输入信息,就会自动运行。运行期间和运行结束后,可以在页面下方查看构建日志:
构建任务的配置
基本配置
在流水线编辑页面,添加任务时,请选择“构建”,并填写其基本配置:
高级配置:使用包标签
在流水线上配置构建任务时,点击打开高级配置,会看到“包标签”这个配置:
包标签的默认值是default
,但可以调整这个配置。构建打包得到的包,用于不同用途时,可以在上面打上相应的标签。比如部署到日常测试环境的包和部署到预发环境的包、生产环境的包,需要有不同的内容,那么可以分别用testing
、staging
、production
来区分这三类包。流水线上的部署组件,就可以根据需要,配置取得特定标签对应的包。比如,取得testing
对应的包,用来部署日常测试环境。
那么,构建组件是如何根据包标签名的不同,打出不同的包呢?在构建时,系统会把包标签的值通过环境变量的方式,传到构建的上下文中。具体来说,该环境变量的key是PACKAGE_LABEL,值就是包标签的名字。于是,构建过程就可以据此进行调整,以产生适合这个构建目的的包。详见使用传入参数改变构建行为。
高级配置:增加输入参数
在包标签设置的下方,有“+添加参数”按钮,点击可添加key-value对:
这些key-value,将作为环境变量,传入构建过程。比如上图中,构建过程将获得ENV_MY_KEY
这个环境变量,值为some value
,以及ENV_YOUR_KEY
这个环境变量,值为another value
。构建过程就可以据此进行调整,以产生适合这个构建目的的包。详见使用传入参数改变构建行为。
高级配置:同时构建不同用途的多个包
可以在一个构建任务中,构建多个包。不同的包,至少包标签不同,还可以有不同的其他输入参数:
这些包,将在流水线上执行到该构建任务时,在多台机器上同时构建,以尽可能提高效率。其中任何一个包构建失败,将标记为该构建任务失败,流水线本次运行中止。