苍穹二开镜像化方案使用手册V1.2

1. 使用场景和优势
1.1 使用场景
• 首次镜像化安装苍穹
• 苍穹标准产品镜像化升级
• 二开产品使用镜像化构建和部署
1.2 优势
对比容器启动时再去动态拉取jar包的方式,苍穹镜像化模式具有如下优势:
1. 运维简单
镜像里的基础环境和jar包都是固定的。避免了以往jar包的版本在开发,测试,生产环境版本不一致的情况,运维更简单。
2. 分领域标准化
苍穹服务按照最新的标准,按业务领域进行了拆分。这使得各个领域的服务运行更加独立,在更新迭代方面也更加灵活可靠。
3. 镜像和元数据自动映射
苍穹镜像化流水线会生成镜像(源码)和元数据包(元数据&脚本),并在两者间建立映射关联,为采用镜像化交付的项目提供更严谨的元数据版本管理。
1.3 部署模式
针对不同的用户规模,苍穹V6.0推出了不同的部署模式,通常情况下我们推荐分领域部署的模式;对于规模小、业务简单、购买领域少的团队,为了节省资源,我们也支持ALLONE部署模式。
1. 分领域模式
分领域模式是苍穹V6.0版本后推荐的服务部署方案,由于拆分服务部署对资源要求较高,推荐在测试、生产环境使用,具体按用户实际资源情况决策。在V6.0后,苍穹服务按官方标准拆分为14个领域(如下图右侧表格所示),用户可根据实际业务购买相应的模块,并拆分、创建服务,同领域的服务指向同一个服务镜像,通过环境变量进行控制(下图方案一)。

2. ALLNOE模式
主要针对团队规模小、二开工作量少或无二开场景的客户。所谓ALLONE模式,即将苍穹的服务(比如hr,财务,供应链等)全部构建到同一个镜像中。后续部署也只需要更新这一个镜像。从而达到减少资源使用的效果。
2. 前置条件
• gPaaS版本V6.0及以上,其中对应轻轨线(CI/CD)服务V2.9.4及以上。
• 星瀚和苍穹版本V6.0及以上。
3. 操作步骤
3.1 苍穹首次安装
苍穹首次镜像化安装流程说明:

3.1.1 用安装器安装苍穹
苍穹首次安装,需通过安装器进行一键式安装。V6.0版本后,官方将苍穹服务拆分为14个领域,每个领域对应一个服务镜像,用户在安装时,可根据购买的领域模块,分领域分应用选择相应的安装内容。
说明:安装器的最新版本目前(截止到2023.11.20)尚未支持分领域的直接安装。苍穹分领域的方式,目前可以在安装完苍穹后,再通过4.3.1步骤手工在容器服务里面直接创建服务即可(后续安装器会直接支持分领域安装)。
通过安装器安装苍穹环境的文档点击这里。
3.1.2 构建苍穹标准镜像
用户在用安装器安装苍穹后,需分领域构建苍穹标准镜像。轻轨线(CI/CD)提供了制作苍穹标准镜像的模板。操作步骤:【流水线】-- 新建流水线 – 选择“苍穹标准版本镜像化构建模板”创建 -- 全局变量

▲ 生成苍穹标准镜像的流水线示例
配置变量及其释义如下表所示:
变量 | 说明 |
COSMIC_INITIAL_IMAGE | 苍穹空壳镜像,在环境安装后从镜像仓库自动获取 |
IMAGE_REGISTRY_URL | 镜像仓库地址,用户安装时录入,通过在配置文件自动获取 |
IMAGE_REGISTRY_USER | 镜像仓库账号,流水线自动获取 |
MAGE_REGISTRY_PASSWORD | 镜像仓库密码 |
IMAGE_REGISTRY_PROJECT | 镜像仓库项目(对应项目群组),正确输入密码后,可下拉选择 |
BASIC_IMAGE_TAG | 当前苍穹的版本号 |
APPSTORE_URL | 苍穹appstore的URL |
COSMIC_BOS_LIBS | 平台依赖包,目前以苍穹V6.0为默认标准,模板自动生成 |
COSMIC_QING_LIBS | 轻分析依赖包,目前以苍穹V6.0为默认标准,模板自动生成 |
COSMIC_FI_LIBS | 财务云、项目云依赖包,目前以苍穹V6.0为默认标准,模板自动生成 |
COSMIC_SCMC_LIBS | 供应链云依赖包,目前以苍穹V6.0为默认标准,模板自动生成 |
COSMIC_HR_LIBS | 人力云依赖包,目前以苍穹V6.0为默认标准,模板自动生成 |
COSMIC_EPM_LIBS | 企业绩效云依赖包,目前以苍穹V6.0为默认标准,模板自动生成 |
COSMIC_TMC_LIBS | 资金云、银企云依赖包,目前以苍穹V6.0为默认标准,模板自动生成 |
COSMIC_MMC_LIBS | 制造云依赖包,目前以苍穹V6.0为默认标准,模板自动生成 |
COSMIC_TAXC_LIBS | 税务云依赖包,目前以苍穹V6.0为默认标准,模板自动生成 |
COSMIC_DRP_LIBS | 渠道云依赖包,目前以苍穹V6.0为默认标准,模板自动生成 |
COSMIC_SCM_LIBS | 供应商协同云依赖包,目前以苍穹V6.0为默认标准,模板自动生成 |
COSMIC_QMC_LIBS | 质量云依赖包,目前以苍穹V6.0为默认标准,模板自动生成 |
COSMIC_MACC_LIBS | 管理会计云(含存货核算)依赖包,目前以苍穹V6.0为默认标准,模板自动生成 |
COSMIC_IMC_LIBS | 发票云依赖包,目前以苍穹V6.0为默认标准,模板自动生成 |
COSMIC_BOS_BASE_LIBS | 平台基础依赖包,目前以苍穹V6.0为默认标准,模板自动生成 |
COSMIC_EXCLUDE_LIBS | 平台扩展依赖包,目前以苍穹V6.0为默认标准,模板自动生成 |
| COSMIC_WEB | 平台web依赖包,目前以苍穹V6.0为默认标准,模板自动生成 |
注意:
1、具体构建、生成的标准镜像与客户购买的领域有关,请按需生成。
2、变量获取地址参考本文档4.1
3、COSMIC_WEB变量为V2.9.11版本新增,用来进行web镜像构建。
配置完成后,点击“保存并运行”流水线,系统会自动生成多个标准镜像并保存在镜像仓库。

▲ 生成的苍穹标准镜像
3.1.3 配置苍穹服务及参数
打开【容器服务】,手工创建或者复制苍穹已有的服务mservice(标准全领域为14个服务,具体创建多少个服务,以客户实际购买的情况为准),再调整相关的环境变量值。按领域分应用的全部服务列表示例如下(仅代表示例,服务名根据客户实际情况命名即可):


需变更的环境变量如下:

服务中环境变量变更的具体说明:
环境变量名称 | 默认值 | 说明 |
appSplit | true | 是否按领域分应用;true/false |
APPSTORE_URL | file:/appstore | 仓库地址,远程仓库地址或者本地仓库地址。使用镜像化部署模式时,默认为本地仓库地址 |
libs | - | 参考下面《服务和领域云libs映射关系表2》 |
服务和领域云libs映射关系表2(默认配置):
服务 | 环境变量 | 默认值 | 领域云 |
mservice-bos | libs | bos.lib,wfs.lib,isc.lib,rpac.lib,ai.lib,bamp.lib,data.lib,bsc.lib,bos-up.lib,.bizcommon.lib,imsc.lib | 平台 |
mservice-qing | libs | qing.lib,.bizcommon.lib | 轻分析 |
mservice-hr | libs | hr.lib,hrmp.lib,odc.lib,swc.lib,sit.lib, wtc.lib,hros.lib,tsc.lib,tdc.lib,hdtc.lib,.bizcommon.lib | 人力云 |
mservice-imc | libs | imc.lib,.bizcommon.lib | 发票云 |
mservice-scmc | libs | scmc.lib,mpscmm.lib,.bizcommon.lib | 供应链云 |
mservice-fi | libs | fi.lib,pmgt.lib,.bizcommon.lib | 财务云、项目云 |
mservice-epm | libs | epm.lib,.bizcommon.lib | 企业绩效云 |
mservice-scm | libs | scm.lib,mpscmm.lib,.bizcommon.lib | 供应商协同云 |
mservice-drp | libs | occ.lib,drp.lib,mpscmm.lib,.bizcommon.lib | 渠道云 |
mservice-macc | libs | macc.lib,.bizcommon.lib | 管理会计云(含存货核算) |
mservice-taxc | libs | taxc.lib,.bizcommon.lib | 税务云 |
mservice-qmc | libs | qmc.lib,mpscmm.lib,.bizcommon.lib | 质量云 |
mservice-mmc | libs | mmc.lib,mpscmm.lib,.bizcommon.lib | 制造云 |
mservice-tmc | libs | tmc.lib,ebg.lib,.bizcommon.lib | 资金云、银企云 |
| web | libs | web.lib | - |
说明:web镜像构建需要V2.9.11版本支持。
镜像化模式下,如果只有苍穹标准产品(不存在二开场景)的前提下,苍穹标准产品的安装,先根据3.1.2章节制作成苍穹标准镜像(如mservice-bos:v6.0.001.008),再在容器服务中替换相应服务的镜像的版本即可。以mservice-bos服务为例:

3.2 苍穹标准产品升级
当用户需要进行苍穹标准产品升级时(如苍穹标准版本更新、苍穹私包更新等),在镜像化部署的场景下,用户需要按升级流程处理。
苍穹标准产品升级的流程如下:

注:如果不存在二开场景,则无需完成上图所示的第三、四步骤。
3.2.1 通过MC更新苍穹环境
苍穹标准产品更新后,客户如需基于镜像化方案实现升级,第一步需通过MC更新对应苍穹环境的AppStore,完成新版本jar包和元数据的更新。操作文档点击这里
3.2.2 构建苍穹标准版本镜像
在通过MC更新完苍穹的appstore和元数据后,就可以制作新的苍穹标准镜像,同样通过轻轨线(CI/CD)提供的模板创建流水线即可,如历史存在构建苍穹标准镜像的流水线,可以复用。操作步骤:【流水线】-- 新建流水线 – 选择“苍穹标准版本镜像化构建模板”创建 -- 全局变量

▲ 苍穹标准版本镜像化构建模板
具体的生成苍穹标准镜像的流水线变量配置,可参考本文档3.1.2章节。在没有二开场景下,如用户只需升级苍穹标准产品,在构建获得新的苍穹服务标准镜像后,进入【容器服务】界面替换并部署新的镜像即可完成升级。如存在二开场景,则需要按本文档3.2.3和3.2.4章节操作。
3.2.3 构建二开镜像和补丁
标准镜像生成后,在二开场景下,用户就能根据所属环境,基于新构建的苍穹标准镜像,进行二开镜像和补丁的制作。
操作路径为:【流水线】– 新建流水线(如已有可不创建)-- 选择“苍穹二开补丁镜像化CI模板” – 配置并运行

【拉代码】和【拉静态资源】是git节点,分别获取源码及静态资源的路径、token权限、分支信息等;
【代码扫描】是可选节点,配置对应仓库的扫描任务,如无需可关闭该节点;
【构建补丁包】节点决定了哪些应用的源码、元数据、脚本纳入此次构建的范畴,该步骤需要提前完成“苍穹应用管理”的配置,具体可参考文档:项目管理-苍穹应用管理。在【构建补丁包】节点中,请务必将服务镜像中所需的全部应用勾选上,确保该镜像包含了该服务历史全量的二开代码。
“全局变量”菜单需要按要求配置,配置变量及其释义如下表所示:
变量 | 说明 |
APPSTORE_URL | 苍穹appstore的URL |
PATCH_PACKAGE_PREFIX_NAME | 补丁包名前缀及制品库目录名 |
X_Console_Ukey | gPaaS控制台中的密钥,系统默认填充 |
IMAGE_REGISTRY_URL | 镜像仓库地址,用户安装时录入,通过在配置文件自动获取 |
IMAGE_REGISTRY_USER | 镜像仓库账号 |
MAGE_REGISTRY_PASSWORD | 镜像仓库密码 |
IMAGE_REGISTRY_PROJECT | 镜像仓库项目,正确输入密码后,可下拉选择 |
IMAGE_NAME | 标准镜像名称,即该二开镜像所依赖的苍穹环境标准镜像;正确选择镜像项目后,下拉列表可选择。 |
IMAGE_TAG | 标准镜像版本,正确选择镜像项目后,下拉列表可选择 |
MSERVICE_TAG | 二开镜像标签,标记二开镜像由哪条流水线构建 |
NEXUS_REPO | 制品库ID,与项目ID一致,系统默认填充 |
NEXUS_PROXY | gPaaS中的third-api-server服务的对外访问路径,系统默认填充 |
COSMIC_CLOUD_NAME | 苍穹中应用云的编码 |
COSMIC_PATCH_VERSION | 苍穹补丁版本号 |
ISV | 苍穹开发商标识 |
COSMIC_BOSLIBS | 苍穹bos依赖包,如bos.xml,无需加载请删除 |
COSMIC_BIZLIBS | 苍穹biz依赖包,如ai.xml,无需加载请删除 |
COSMIC_CUSLIBS | 苍穹客户依赖包,如cus.xml,无需加载请删除 |
COSMIC_TRDLIBS | 依赖包,如cus.xml,无需加载请删除 |
PATCH_VERSION | 自定义补丁包版本 |
gradle_parallel | 并发构建应用数量,默认推荐2,根据机器性能进行设置 |
变量获取地址参考本文档4.1
配置完成后,点击“保存并运行”流水线,在正确配置的前提下,流水线会输出该领域云对应的二开镜像和补丁包。
二开镜像的命名规则为:标准镜像名称-IMAGE_TAG变量值-cus:标准镜像版本号_时间.序列号,如标准镜像为/mservice-fi:v6.0.001.001,二开镜像标签为dev,构建时间为10月19日,则首次构建的二开镜像名称为:/mservice-fi-dev-cus:v6.0.001.001_1019.1
说明:
1、所有二开镜像都会自带cus,作为二开镜像的统一标识;
2、二开镜像会用IMAGE_TAG来区分同一领域的镜像是由哪条流水线构建的,如一条流水线用来构建财务云dev环境的二开镜像,则IMAGE_TAG变量值可以设置为dev,则该条流水线构建的二开镜像名称都会会带上dev标识,如/mservice-fi-dev-cus:v6.0.001.001_1019.1;
3、元数据和静态资源,打成制品zip包;源码输出为镜像;
4、制品zip和镜像会建立映射关系,防止管理上的混乱。

生成的镜像和补丁,可分别在镜像仓库和制品库查看。

3.2.4 发布二开镜像和补丁
最后只需将3.2.3步骤获得的新镜像和补丁发布到环境,即可完成二开场景下,苍穹标准产品升级。操作路径为:流水线 – 新建流水线(如已有可不创建)-- 选择“苍穹二开补丁镜像化CD模板” – 配置并运行

【全局变量】配置变量及其释义如下表所示:
序号 | 变量 | 说明 |
PATCH_PACKAGE_PREFIX_NAME | 补丁包名前缀及制品库目录名 | |
COSMIC_IMAGE_PATCH_PACKAGE | 补丁包名,选择PATCH_PACKAGE_PREFIX_NAME后可下拉选择需要发布的补丁包 | |
MSERVICE_NAME | 重启镜像服务名称,选择补丁包后自动关联 | |
COSMIC_MC_URL | 苍穹MC的访问地址 | |
X_Console_Ukey | gPaaS控制台中的密钥,系统 |
苍穹二开镜像化方案使用手册V1.2
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



