E CI/CD用のOracle JET CLI API

Oracle JETは、Oracle JET CLI用のパブリックなプログラムAPIを提供します。

このAPIでは、Oracle Visual Builder Studioによって提供されるパイプラインなど、CI/CDパイプラインで次のタスクを実行できます。

ノート:

たいていの場合、Oracle JET CLIをパイプラインでシェル・タスクとして呼び出すことで十分な機能を提供できますが、高度な用途のためにこのAPIが用意されています。
  1. ojet build
  2. ojet restore
  3. ojet strip
  4. ojet package
  5. ojet publish

APIの新しいインスタンスは次のように作成します:

const Ojet = require("@oracle/ojet-cli");
const ojet = new Ojet({ cwd: "path/to/invoke/ojet/from" });

ノート:

グローバルにインストールされたOracle JET CLI (npm install -g @oracle/ojet-cli)を使用している場合は、プロジェクトからnpm link @oracle/ojet-cliを使用します。

APIの新規インスタンスを作成する場合、次のオプションがサポートされています。

オプション タイプ 説明
cwd 文字列 Oracle JET CLIを起動するパス。
logs ブール ojetロギングを制御します。

プロパティ

名前 タイプ 説明
version 文字列

@oracle/ojet-cliのバージョン

メソッド

CI/CDパイプライン用のOracle JET CLI APIは、CLIタスクを実行し、成功時および失敗時に未定義に解決されるプロミスを返す1つのメソッドexecuteを公開しています。executeメソッドは、次のオプションをサポートしています。

オプション タイプ 説明
task "build" | "restore" | "strip" | "package" | "publish"

実行するタスクの名前。

scope "app" | "component" | "pack" 実行するタスクのスコープ。
parameters string[] 実行するタスクのパラメータ。
options object タスクの実行に使用されるオプション。

コード
ojet build
try {
  await ojet.execute({ task: "build" });
} catch {}
ojet build --release
try {
   await ojet.execute({ 
    task: "build", 
    options: {
      release: true
    } 
  });
} catch {}
ojet restore
try {
   await ojet.execute({ task: "restore" });
} catch {}
ojet strip
try {
   await ojet.execute({ task: "strip" });
} catch {}
ojet package component <component>
try {
  await ojet.execute({ 
    task: "package", 
    scope: "component"
    parameters: ["<component>"]
    options: {
      "pack": "<pack>"
    }
  });
} catch {}
ojet package pack <pack>
try {
  await ojet.execute({ 
    task: "package", 
    scope: "pack"
    parameters: ["<pack>"]
  });
} catch {}
    
ojet publish component <component> --username=<username> --password=<password> --secure=<true|false> --path=<path>
try {
  await ojet.execute({ 
    task: "publish", 
    scope: "component"
    parameters: ["<component>"],
    options: {
      username: "<username>",
      password: "<password>",
      secure: <true|false>,
      path: "<path>
    }
  });
} catch {}
ojet publish pack <pack> --username=<username> --password=<password> --secure=<true|false>
try {
  await ojet.execute({ 
    task: "publish", 
    scope: "pack"
    parameters: ["<pack>"],
    options: {
      username: "<username>",
      password: "<password>",
      secure: <true|false>
    }
  });
} catch {}