本ブログでは作成したAPEXアプリケーションのエクスポートを、以下の手順でGitHubにアップロードし公開しています。最近はYAML形式のファイルを含めるために、エクスポートのフォーマットとしてZIPを選択しています。
- アプリケーションをZIP形式でエクスポートする。
- ローカルのPCにZIPファイルがダウンロードされる。
- 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 name、Expiration、Description、Resource ownerを設定します。Repository accessとしてOnly select repositoriesを選択した場合は、コミットするリポジトリをSelect repositoriesから選択します。
PermissionsのContentsをRead and writeに変更します。
画面の一番下にあるGenerate tokenをクリックします。
生成されたパーソナル・アクセス・トークンをコピーします。APEX側でクリデンシャルを作成する際に、このトークンを使用します。
以上でGitHub側の準備は完了です。
続く