2022年12月5日月曜日

GitHubにAPEXアプリをエクスポートする(1) - GitHub側の準備

 本ブログでは作成したAPEXアプリケーションのエクスポートを、以下の手順でGitHubにアップロードし公開しています。最近はYAML形式のファイルを含めるために、エクスポートのフォーマットとしてZIPを選択しています。

  1. アプリケーションをZIP形式でエクスポートする。
  2. ローカルのPCにZIPファイルがダウンロードされる。
  3. GitHubにアップロードする。
少々手間がかかります。また、ZIP形式だと内容を確認するにはファイルをダウンロードする必要があります。

作業を簡単にするために、Autonomous Databaseで提供されているDBMS_CLOUD_REPOパッケージとOracle APEXが提供しているAPEX_EXPORTパッケージを使って、エクスポートを直接GitHubに保存するAPEXアプリケーションを作成してみました。

以下のような動作になります。


実行結果として、以下のZIPファイルやYAMLファイルがGitHubに作成されます。



YAML形式のファイルのアップロードはファイルの数が多いために、時間がかかるようです。

ちなみに、GitHubからアプリケーションをインストールする一つの方法として、カスタム・ギャラリを作る方法を以前に紹介しています。

ギャラリへカスタム・アプリケーションを登録する
https://apexugj.blogspot.com/2022/07/gallery-custom-apps.html


GitHub側での準備



GitHubのアカウントを取得していること、および、リポジトリが作成済みであることを前提とします。

GitHubよりパーソナル・アクセス・トークンを生成し、それを使ってパッケージDBMS_CLOUD_REPOで使用できるクリデンシャルを作成します。

GitHubのサイトよりSettingsを開きます。


左のメニューの一番下にあるDeveloper settingsを開きます。


Personal access tokensを開き、Fine-grained tokensを選択します。2022年12月5日現在でBetaとなっていますが、このアクセス・トークンはデータベース側で作成したクリデンシャルとして使えました。


Generate new tokenを実行します。


アクセス・トークンに関する設定画面が開きます。

Token nameExpirationDescriptionResource ownerを設定します。Repository accessとしてOnly select repositoriesを選択した場合は、コミットするリポジトリをSelect repositoriesから選択します。


PermissionsContentsRead and writeに変更します。


画面の一番下にあるGenerate tokenをクリックします。


生成されたパーソナル・アクセス・トークンをコピーします。APEX側でクリデンシャルを作成する際に、このトークンを使用します。


以上でGitHub側の準備は完了です。

続く