SAE 应用发布

更新时间:
复制为 MD 格式

流水线Flow提供了多种部署能力,通过原生构建或者镜像构建方式,自动化形式部署到SAE服务并运行,从而达到了发布应用版本持续部署到SAE应用自动化能力。

背景信息

通过流水线部署SAE应用,上游使用的目标流水线源,可以支持两种构建方式。

  • 原生构建,例如Java构建JAR包或者WAR包文件。

  • 镜像构建,例如阿里云镜像构建。

前提条件

请确保您已经创建配置完成SAE应用实例,根据构建方式选择SAE应用部署方式,参考如下。

步骤一:新建流水线

  1. 登录流水线Flow服务控制台,在控制台界面,请单击右侧上方新建流水线按钮

  2. 在弹出窗口中,根据需求选择合适的流水线模板,本文选择使用了空模板,单击创建按钮。

步骤二:配置流水线-代码源

  • 添加流水线源,可以选择多种方式,如:自建Gitlab、Codeup、Github等,可以根据您的需求选择,请单击任务节点,选择代码源示例代码源,选择代码类型JAVA,完成添加任务。

  • 另外也可以通过制品源JenkinsFlow流水线,链接外部服务,完成添加流水线源。

说明

如果部署SAE应用,选择的是镜像构建方式,请确保目标代码源包含有构建镜像的Dockerfile指令文件。

步骤三:配置流水线-构建与上传

原生构建

  1. 添加构建任务节点,根据需求选择合适的构建方式,请单击空任务或者新的任务节点按钮,在右侧滑出编辑页面或者导航菜单界面,选择任务构建>Java构建,

    参数

    说明

    任务名称

    自定义任务名称。

    构建集群

    根据需求选择云效默认构建集群或者自定义的私有构建集群。

    说明
    • 关于选择使用私有构建集群,请参阅具体操作构建集群

    构建环境

    根据需求选择合适的构建环境。

    说明

    任务执行期间,流水线任务构建环境分配给用户使用,构建环境使用权限归属用户,任务执行脚本由用户自定义。

    下载流水线源

    根据需求选择合适的方式。

  2. 任务步骤配置项,请确保已经添加Java构建构建物上传两个任务,关于这两个任务配置参数请参考下图。

    1. 根据需求进行Java构建参数配置。

    2. 设置构建物上传任务参数,可以自定义命名步骤名称,根据需求选择合适的上传方式,选择组织私有通用制品仓库,需要添加服务链接,授权Flow访问制品库资源,选择自定义通用制品仓库。

      说明

      关于组织私有通用制品仓库,具体操作请参阅通用制品管理

镜像构建

  1. 配置流水线源任务后,添加镜像构建任务。

    说明
    • 建议选择镜像构建并推送至阿里云镜像仓库企业版,企业版支持多地域,提供稳定快速的镜像上传、下载服务。

    • 镜像构建并推送至阿里云镜像仓库个人版,是面向个人开发者,功能受限较多,不保障SLA(镜像网络加速性能),具体详情请参阅什么是容器镜像服务ACR

  2. 选择构建环境,配置镜像构建推送到ACR方式。

    指定容器环境/默认VM环境

    选择任务节点新的任务,选择导航菜单镜像构建 > 镜像构建并推送至ACR企业版

    默认环境

    选择任务节点空任务,在编辑面板中,单独添加任务步骤,构建 > 镜像构建并推送至阿里云镜像仓库企业版

  3. 在任务编辑面板中,配置参数。

    参数

    说明

    任务名称

    您可自定义任务名称,一般保持默认即可。

    构建集群

    支持以下构建集群:

    构建环境

    支持以下构建环境:

    • 指定容器环境(云效默认构建集群):流水线 Flow在构建机器上启动指定容器,在单容器环境进行构建。云效提供官方常用镜像供选择使用、您也可以指定自己的镜像作为运行环境。

    • 默认VM环境(仅私有构建集群支持):须选择指定构建节点流水线 Flow会直接在构建机器上安装环境并执行任务,为了提升任务构建速度建议提前在构建机器上安装好相应SDK和环境。

    • 默认环境(云效默认构建集群/私有构建集群):流水线 Flow会根据任务类型默认使用不同的容器镜像,预装相应的SDK和环境,默认镜像不可修改(Deprecated)。

    说明

    任务执行期间,流水线任务构建环境分配给用户使用,构建环境的使用权归属用户,任务执行脚本由用户自定义。

    下载流水线源

    开启下载流水线源后,您配置的源文件将会被下载至对应的工作目录下。支持以下三种方式:

    • 下载全部流水线源

    • 不下载流水线源

    • 下载部分流水线源

  4. 以下提供了企业版和个人版的任务配置参数,根据您的需求选择,完成任务参数设置。

    企业版配置

    参数

    说明

    步骤名称

    自定义步骤名称。

    选择服务链接

    选择服务连接,如果没有则单击添加服务连接,设置服务授权/证书,单击新建按钮,进行访问ACR资源权限授权,单击创建

    地域

    根据容器镜像服务ACR目标实例的区域,选择相同的区域。

    企业实例

    选择容器镜像服务ACR企业版目标实例。

    命名空间

    选择目标ACR镜像仓库所属的命名空间。

    仓库

    选择目标ACR镜像仓库。

    标签

    设置动态参数${DATETIME},表示镜像被推送到ACR后,将会以当前日期时间作为版本名称。

    说明

    标签:支持固定参数例如1.0,或者动态参数例如${DATETIME}。

    Dockerfile路径

    本文示例代码源仓库中Dockerfile文件是在根目录下,保持默认路径即可。

    说明

    Dockerfile路径,默认路径是相对于代码库根目录所在路径,如META/config/DockerfileDockerfile。

    重要
    • 由于Flow需要将构建的镜像推送到ACR仓库,需要ACR企业版目标实例开启镜像仓库公网进行通信,请设置ACR访问控制公网是开启状态,再将Flow构建集群公网出口地址,添加到ACR公网白名单里。

    • 查看Flow构建集群公网出口地址,在流水线Flow控制台界面导航菜单最下方,单击菜单全局设置,在全局设置页面导航菜单里单击构建集群管理,在构建集群管理页面,本文使用的云效默认构建集群下的云效北京构建集群,根据需求选择地区集群,将查看的公网出口地址添加到ACR访问控制白名单里。

    • 如果您使用私有构建集群,Flow是通过VPC地址推送ACR镜像仓库的,需要在任务编辑页面的任务步骤配置项里单击勾选使用 VPC 地址推送镜像,就无需开启ACR公网。添加私有构建集群,具体操作请参阅构建集群

    个人版配置

    参数

    说明

    步骤名称

    自定义步骤名称。

    选择服务链接

    与企业版服务连接设置相同。

    地域

    根据容器镜像服务ACR目标实例的区域,选择相同的区域。

    仓库

    选择目标ACR镜像仓库。

    Dockerfile路径

    本文示例代码源仓库中Dockerfile文件是在根目录下,保持默认路径即可。

步骤四:配置流水线-部署SAE应用

  1. 请单击任务节点新的任务,在右侧滑出页面的导航菜单选择部署可以选择多种部署方式,比如ECS应用部署、Kubernetes发布等,根据您的需求选择,请单击添加Serverless(SAE)应用发布部署任务到流水线流程中。

    说明

    有关更多部署方式,具体可以参阅持续部署(CD)

  2. 在添加完部署SAE应用任务后,在任务步骤配置项进行参数配置,下图可作为参考。

    参数

    说明

    选择服务链接

    请单击右侧添加服务链接,进行Flow访问SAE资源的授权配置。

    地域

    选择SAE应用目标实例所属区域。

    命名空间

    选择SAE应用目标实例所属自定义命名空间。

    SAE应用

    选择SAE应用目标实例应用名称。

    构建产物

    根据构建物上传任务中组织私有通用制品仓库配置项制品名称参数设置的特定值进行选择。

    重要
    • 如果使用镜像构建方式,请确保如下基本配置。

    • 请勾选下方使用阿里云镜像仓库组织版,构建产物选择镜像构建并推送至阿里云镜像仓库组织版.镜像公网地址(如果使用私有构建集群可以选择镜像构建并推送至阿里云镜像仓库组织版.镜像VPC地址)。

    • 在阿里云容器镜像服务ACR控制台界面,进入组织版仓库目标实例管理界面,配置访问控制,添加专有网络的VPC,用于SAE应用目标实例可以和ACR进行通信。

    镜像仓库组织版实例ID

    当使用使用阿里云镜像仓库组织版时候,需要配置此项参数。

    说明

    关于镜像仓库组织版实例ID,可以在容器镜像服务控制台界面,进入目标组织实例,在概览实例信息中查看到实例ID。

    发布策略

    选择合适的发布策略,分批发布是根据SAE应用容量配置的实例数,灰度发布是一种通过占比平滑过渡的发布方式。

    分批方式

    选择合适的应用部署执行方式。

    发布批次

    根据SAE应用容量实例数,选择应用部署的实例数量。

    说明

    如果您创建的SAE应用实例配置容量是2个实例,比如A容器和B容器,发布批次设置2批,就是发布到2个实例。

    分批批次间等待时间

    根据需求选择合适的SAE应用部署实例间的部署等待时间。

    分批批次内等待时间

    表示SAE应用目标实例中开始部署的等待时间。

步骤五:运行并查看目标流水线任务

  1. 在流水线Flow控制台界面我的流水线列表,单击目标流水线右侧image运行按钮,单击目标流水线名称,查看流水线任务节点界面。

  2. 运行流水线任务完成后,在部署SAE应用任务节点,右下方单击日志,查看到流水线任务的执行过程结果日志。

  3. SAE控制台界面,通过流水线部署的SAE应用目标实例,可以查看到应用部署的变更记录和实例日志。