更新时间:2024-01-22 GMT+08:00

创建源码构建任务

通过构建任务可以一键式生成软件包或者镜像包,实现“源码拉取->编译->打包->归档”的全流程自动化。

  • 在x86系统构建,构建出来的镜像是x86系统的镜像。
  • 在ARM系统构建,构建出来的镜像是ARM系统的镜像。

前提条件

  1. 已经创建集群。
    • 构建任务依赖预置在构建容器中的JDK、Golang、Maven、Gradle、Ant或Node.js编译工具。
    • 支持同一个帐号下的不同IAM用户操作同一个构建集群。如需对特定IAM用户取消构建权限,请参考创建ServiceStage自定义策略为该用户设置自定义策略,将“servicestage:assembling:create”“servicestage:assembling:modify”“servicestage:assembling:delete”权限设置为拒绝策略。
  2. 已为构建节点绑定弹性IP,请参考为弹性云服务器申请和绑定弹性公网IP

操作步骤

  1. 登录ServiceStage控制台,选择“持续交付 > 构建”,单击“基于源码构建”。
  2. 设置基本信息:

    1. 输入“名称”。
    2. 设置“企业项目”。

      企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。

      创建企业项目后可以使用。

    3. (可选)输入工程“描述”。
    4. 设置“代码源来源”。
      • 参考仓库授权创建授权,然后设置代码源来源。
      • 选择“样例库”,选择一个所需的样例。
    5. 设置“构建集群”,选择用于构建的集群。
    6. (可选)选择“过滤节点标签”,可以通过节点标签将构建任务下发到固定节点上。
    7. 单击“下一步”。

  3. 选择构建模板。

    • 选择“Maven”、“Ant”、“Gradle”、“Go”或“Docker”模板构建,可同时编译并归档二进制包或Docker镜像,请执行4
    • 选择“自定义”构建,可自由定义构建方式,请执行6

  4. 选择归档方式。

    • 不归档:不添加Docker构建,也不归档。
    • 归档二进制包:不添加Docker构建,归档二进制包。
    • 归档镜像编译:添加Docker构建,归档Docker镜像。

  5. 设置必填项参数。

    单击参数配置编辑页的图标可删除参数设置。
    • 构建参数

      不同编译参数设置不同,单击编辑框或者编辑框后的,可查看参数说明。

    • 镜像参数

      页中输入“任务名称”、Dockerfile路径、“镜像名称”和“镜像版本。

    • 镜像归档参数

      页中设置对应镜像参数的“任务名称”、“归档镜像”、“仓库组织”和“共享类型”,对设置的镜像进行归档。

    • 二进制参数

      页中设置如下参数。

      参数名称

      参数说明

      任务名称

      任务的名称。

      共享类型

      仓库类型分为公有与私有两种。

      • 公有仓库为系统隔离,同一系统中的租户可共享资源。
      • 私有仓库为租户隔离,当前租户下的用户可共享资源,其他租户不可访问当前租户下的资源。

      仓库组织

      是指仓库的命名空间。

      软件仓库

      软件仓库的名称。

      软件包名称

      构建完成后,归档的软件包名称。

      软件包版本

      归档的软件包版本。

      构建包路径

      编译构建完成后,生成的二进制软件包地址。例如,Java项目下的./target/xxx.jar。

  6. (可选)单击“高级配置”进行环境设置。

    若要添加多个任务,可在高级配置中自定义添加。
    1. 单击左侧栏目中的“添加插件”进入“选择任务类型”界面。
    2. 单击目标任务类型的“选择”,添加任务类型。并在“构建环境配置”界面右侧设置任务参数。

      在“编译”过程添加了通用构建命令行插件(Build Common Cmd)时,需要注意以下注意事项:

      • 输入“编译命令”,请在echo、cat、debug等命令中慎用敏感信息或者进行敏感信息加密,以免造成信息泄露。
      • “语言”参数选择Python且“Python框架类型”选择符合WSGI标准的Python工程时,需要设置主模块和主模块函数。Python工程主模块和主模块函数名称示例如下:

        Python主模块:如果Python工程入口文件名为server.py,主模块名称则为server。

        Python主模块函数:如果Python工程入口文件server.py的应用函数名称为app=get_wsgi_application(),则主模块函数名称为app。

  7. 单击“构建”保存设置并构建工程。

    单击“保存”仅保存设置,不进行构建。

后续操作

应用组件构建成功后,可以把应用组件托管到ServiceStage上,详细操作请参考组件部署方式说明