将配置迁移到另一个环境
将一个无副作用任务导入独立目标,核对停用状态、资源映射与后续执行。
适用场景与读者
适合已完成快速入门、需要将该场景用于业务流程的配置人员。
开始前准备
先阅读教程公共准备。本页预计时间不含外部服务安装;命令中的资源、路径和端口按自己的演练环境填写。
| 资源 | 要求 |
|---|---|
| 源A | 已有一个可运行的无副作用SCRIPT,具备ADMIN导出权限。 |
| 目标B | 独立安装,独立数据库、账号、密钥、端口与资源;具备ADMIN导入权限。 |
配置一览
| 界面字段 / 配置项 | 本例填写值 |
|---|---|
| 首个导出范围 | 只选一个SCRIPT,不携带调度和通知绑定 |
| 配置包 | 格式1的.ijob.zip;凭据不随包 |
操作步骤
1. 导出单个任务
在A任务列表选择无副作用SCRIPT,导出所选。确认只含预期对象和依赖,保存.ijob.zip。
2. 在B检查与映射
登录B,导入配置包,先阅读对象清单和差异。含资源的扩展包需映射B的独立资源,补B自己的秘密;不能用A的地址和账号冒充目标配置。
3. 应用并核对默认停用
确认计划后应用导入。首次创建动作应为 CREATE,导入记录最终为 COMPLETED;新任务处于停用状态,尚未执行。核对任务定义与引用,再执行导入校验,预期 VERIFIED。新建/更新的任务与作业以及新建调度默认停用;不要把计划 READY、导入 COMPLETED、校验 VERIFIED 和业务执行 SUCCESS 混为一项状态。
4. 重启后检查重复导入
保持导入对象未修改、仍停用,在 B 正常重启后重新上传并检查同一包。计划应为 READY,任务步骤显示动作 REUSE、状态 UNCHANGED,目标对象 ID 与首次导入相同。应用后计划为 COMPLETED、该步骤为 DONE,动作仍为 REUSE;不新增同名对象。先看计划,避免盲目重复整包。
5. 启用一个样例并执行
在 B 启用样例 SCRIPT 并保存新版本,手动执行,预期 SUCCESS,日志包含与 A 相同的 hello-ijob。此有意修改后原计划校验可能变为 DRIFTED,表示与原导入基线不同,不等于执行失败。不要用导入记录中的 COMPLETED 代替这次运行结果。
6. 扩展:资源映射与父子作业
在 A、B 分别创建专属 PostgreSQL 业务库和数据库资源,不使用平台库。两个资源各自填写本环境地址和凭据。为方便辨认实际访问位置,让 A 有 3 行、B 有 2 行:
-- A 的专属业务库
CREATE TABLE orders (id integer PRIMARY KEY);
INSERT INTO orders (id) VALUES (1),(2),(3);
-- B 的另一个专属业务库
CREATE TABLE orders (id integer PRIMARY KEY);
INSERT INTO orders (id) VALUES (1),(2);
在 A 新增 SQL 任务,选择 A 资源,SQL 为 SELECT COUNT(*) AS total FROM orders,结果变量为 mappedRows。建立单节点子作业引用该任务,再建立单节点父作业引用该子作业,均使用 ALL_SUCCESS / STOP;先发布任务,再发布子作业,最后发布父作业。任务直接运行应得到数值 mappedRows=3。
从 A 导出父作业,包含展开的任务、子作业和资源配置,不携带凭据。到 B 上传包。对于首次出现、没有目标映射和凭据的资源,检查结果应为 BLOCKED;若同一来源资源已保存过映射,系统可能自动复用而得到 READY,不能仅凭未手动选择就断言必须阻断。
在资源处理方式中明确选择 REUSE,目标选 B 自己的已启用资源,再检查至 READY 后确认导入。导入记录应为 COMPLETED。打开导入后的 SQL 任务,确认资源引用实际指向 B;导入预览中的占位引用不是最终对象 ID。
导入任务、子作业和父作业均默认停用。按 SQL 任务 → 子作业 → 父作业的顺序启用并保存/发布,逐层采用刚发布的已启用版本;不得先发布父作业而固定引用停用的子版本。若分组与 B 的 Worker 不匹配,先改为 B 可执行的分组再逐层发布。
执行 B 中的父作业,父、子及 SQL 节点应全部 SUCCESS,输出数值 mappedRows=2。A 仍有 3 行、B 仍有 2 行;这个差异表明查询使用了 B 的资源,导入过程没有复制 A 的业务数据。
预期结果
| 检查项 | 预期值 |
|---|---|
| 初次导入 | 新对象默认停用,校验VERIFIED |
| 未改对象重复导入 | 计划 REUSE / UNCHANGED,应用后 COMPLETED;目标 ID 不变 |
| 首次资源尚未映射且无凭据 | 计划 BLOCKED;已有持久映射时可能自动复用 |
| 显式复用 B 资源 | 计划 READY,导入 COMPLETED,SQL 引用指向 B |
| 逐层启用发布后 | 父子作业 SUCCESS,mappedRows=2;A 3 行、B 2 行保持不变 |
| 单任务手动启用后 | SUCCESS,日志 hello-ijob;基线可显示 DRIFTED |
常见失败
| 现象 | 处理方法 |
|---|---|
| 部分失败 | 先查看本账号导入记录与完成对象,再按记录继续,避免重复创建。 |
安全与清理
停止B中的练习调度;按目标依赖关系清理导入样例,源A保持原样。配置包不是历史数据库或秘密备份。
适用版本与限制
适用 iJob 1.0.0、配置包格式 1。示例覆盖两个独立安装间的 Windows SCRIPT 导入、默认停用、目标重启后的重复复用,以及 PostgreSQL 资源映射和父子作业逐层发布,两种语言均得到对应结果。并发导入冲突、部分失败继续及其他资源协议不列入本页已确认范围。配置包不是业务数据、历史数据库或秘密的备份。