Accel Studio アプリケーション管理機能 仕様書 第6版 2024-04-01

4.12. Git連携

Git連携 とは、Accel Studioで作成したアプリケーションをGitホスティングサービスのリモートリポジトリで管理する機能です。
アプリケーションをリモートリポジトリにアップロードしておくことで、検証環境や本番環境など複数の環境にアプリケーションをリリースする際に、リモートリポジトリからアプリケーションをインポートできます。
Git連携機能の特徴は以下の通りです。
  • Git認証定義を管理します。
  • アプリケーションをリモートリポジトリへアップロードします。
  • リモートリポジトリからアプリケーションをインポートします。
アプリケーションに対して、連携先としてリモートリポジトリを設定することで、アップロードおよびインポートが可能です。
連携先のリモートリポジトリを変更したい場合は、連携を解除して別のリモートリポジトリを再連携できます。
../../../_images/github_integration_image.png

注意

本機能を利用する場合、連携したいGitホスティングサービス上で、以下の事前準備が必要です。
  • 連携するリモートリポジトリの作成
  • Gitと認証するためのパーソナルアクセストークンの作成
事前準備の詳細は、「セットアップ(GitHub)」を参照してください。

コラム

本機能では以下のGitホスティングサービスを利用可能です。
  • GitHub

4.12.1. Git認証定義で扱う情報

Git認証定義で扱う情報は、以下の通りです。
  • ユーザ名
    • Gitのユーザ名
      • アプリケーションのアップロード時に利用されるユーザ名です。
  • メールアドレス
    • Gitのメールアドレス
      • アプリケーションのアップロード時に利用されるメールアドレスです。
  • アクセストークン
    • 連携先のGitホスティングサービスで作成したパーソナルアクセストークンです。

注意

メールアドレスは、連携先のGitホスティングサービスのユーザと、Gitのユーザを紐づけるための情報です。
Git認証定義で登録したメールアドレスが、Gitホスティングサービスで利用しているメールアドレスと異なる場合、アカウント同士が紐づきません。
コミット履歴にはGit認証定義で登録したユーザ名が表示されます。

コラム

Git認証定義はログインユーザと紐づき、1対1で管理されます。
そのため、ログインユーザに対して複数のGit認証定義を登録することはできません。
Git認証定義を変更したい場合、登録済の認証定義を削除した後、再度登録してください。

4.12.2. Git認証定義の動作仕様

Git認証定義の動作仕様は、以下の通りです。

4.12.2.1. Git認証定義の新規登録

Git認証定義として、ユーザ名、メールアドレス、アクセストークンを登録します。
認証定義の登録が完了すると、Git認証定義の参照・削除画面へ遷移します。

4.12.2.2. Git認証定義の削除

Git認証定義を削除します。
認証定義の削除が完了すると、Git認証定義の登録画面へ遷移します。
登録されたパーソナルアクセストークンの有効期限が切れた場合も、Git認証定義が自動で削除されることはありません。
上記の場合、連携先ホスティングサービスでパーソナルアクセストークンの更新または再作成を行ってください。

コラム

外部システムユーザ識別子設定から、すでにGitに対してユーザコードが登録済の場合、Git認証定義画面のユーザ名に初期表示されます。
また、外部システムユーザ識別子設定からユーザ情報を削除した場合、Git認証定義は再登録が必要です。
Git認証定義を変更したい場合、登録済の認証定義を削除した後、再度登録してください。

4.12.3. アプリケーションのアップロード・インポートで扱う情報

Git連携機能 のアプリケーションのアップロード、および、インポートで扱う情報は、以下の2つです。
  • 連携先情報
    • リモートリポジトリとの連携に利用する情報です。
      • リポジトリのURL
        • 連携したいリモートリポジトリのURLです。
      • ブランチ名
        • 連携したいブランチ名です。
      • コメント
        • アップロード時のコメントです。アップロード時のみ必須です。
  • アップロード情報
    • リモートポジトリへアップロード、および、リモートリポジトリからインポートされる情報です。
      • アプリケーション情報
        • アプリケーション名、備考(国際化情報)を含みます。
        • アプリケーションのリソース関連情報を含みます。
      • アプリケーションカテゴリ
        • カテゴリ名(国際化情報)を含みます。
      • リソース情報
        • 各ローコード資材別にエクスポートされた資材を含みます。
        • リソース情報の詳細は「リソース情報詳細」を参照してください。
      • アプリケーションのZIPファイル
        • アプリケーションのエクスポートを行った際に出力されるZIPファイルと同じファイルです。

注意

Git連携 でアップロードするアプリケーションには、アーカイブ情報は含まれません。
アーカイブ機能の詳細は「アーカイブ機能」を参照してください。

注意

SSHを使用して連携先のGitホスティングサービスに接続することはできません。
リポジトリURLにはHTTPSに対応するURLを設定してください。

注意

リモートリポジトリからインポートを行う場合、インポートされるのは、sourceフォルダ配下のアプリケーション情報、アプリケーションカテゴリ、リソース情報です。
アプリケーションのZIPファイルではないことに注意してください。

コラム

リソース情報は、アプリケーションエクスポートZIPを解凍し、内部のJSONファイルを整形した状態で格納されます。
リポジトリにアップロードされたアプリケーションのZIPファイルは、アプリケーションのインポート機能でインポート可能です。

4.12.4. アップロードの動作仕様

アプリケーション詳細の Git連携 のメニューから操作します。
アプリケーションがリポジトリに連携済かどうかによって、表示されるメニューが異なります。詳細は以下の通りです。
  • リモートリポジトリに未連携の場合
    • リポジトリ連携ダイアログの連携先の設定から、連携先の登録とアップロードを行います。
  • リモートリポジトリに連携済の場合
    • Git連携メニューのアップロードから、アップロードを行います。

4.12.4.1. リモートリポジトリに未連携の場合

リポジトリ連携ダイアログから連携先情報を設定し、リモートリポジトリとの連携、および、アップロードを行います。
リポジトリ連携は以下2つのステップで設定を行う必要があります。
  • 1. Git連携先の設定
    • 認証定義と連携先のリポジトリURLを設定します。
    • Git認証定義が未登録の場合、ダイアログから登録できます。
  • 2. アップロード
    • 連携先のブランチ名、コメントを設定し、リモートリポジトリにアップロードします。
      • アップロードを行うと、現在のアプリケーションの状態でリモートリポジトリの内容を上書きしてコミット・プッシュが行われます。
    • ブランチに関する仕様について詳細は以下を参照してください。
      • ブランチを新規登録する場合
        • ブランチ名に新規作成したいブランチの名前を入力してアップロードすると、リモートリポジトリにブランチが新規作成されます。
        • ブランチの派生元は連携先リポジトリのデフォルトブランチです。
      • リモートリポジトリの既存ブランチに連携する場合
        • リモートリポジトリに既にブランチが存在する場合、既存ブランチ名が候補として表示されます。

注意

ブランチ名には以下の条件を満たす名前を設定してください。
  • 文字種が半角英数、ピリオド、ハイフン、アンダースコア、スラッシュ
    • 末尾にスラッシュ、ピリオドが利用されていない
  • 先頭は全角または半角の英数字のみ

注意

リモートリポジトリに既に存在するブランチを選択してアップロードした場合、ブランチ上のアプリケーションが上書きされるため注意してください。

4.12.4.2. リモートリポジトリに連携済の場合

アプリケーション詳細の Git連携 のメニューからアップロードを選択します。
アップロードダイアログでコメントを入力しアップロードします。
現在のアプリケーションに含まれていないコミットが、リモートリポジトリのアプリケーションにだけ含まれている場合、アップロードダイアログに警告メッセージを表示します。

注意

警告メッセージが表示された状態でアップロードを行う場合、リモートリポジトリのアプリケーションが現在のアプリケーションで上書きされます。
リモートリポジトリだけに含まれているコミット情報が上書きされる可能性があるため、確認してからアップロードを行ってください。

注意

パーソナルアクセストークンの有効期限が切れた場合、アップロードに失敗することがあります。
その場合、新しくGitの連携先ホスティングサービスでパーソナルアクセストークンを発行してください。
新しく発行したパーソナルアクセストークンを登録したい場合は、Git認証定義を削除した上で、新規にGit認証定義を登録してください。

4.12.5. インポートの動作仕様

インポートには以下の2ケースがあります。
  • アプリケーションが環境に存在し、アプリケーションがリモートリポジトリと連携済の場合
    • アプリケーション詳細の Git連携 メニューの「インポート」から操作します。
  • アプリケーションが環境に存在せず、新規にリモートリポジトリからインポートを行う場合
    • サイトマップの「Accel Studio/ Git連携 /リモートリポジトリからインポート」からインポート画面へ遷移します。
Git連携機能 で利用するインポートの動作仕様は、「インポート」の動作仕様と同一です。

4.12.5.1. リモートリポジトリと連携済の場合

アプリケーションがリモートリポジトリに連携済の場合、アプリケーション詳細の Git連携 メニューからインポートを選択し、インポートダイアログが開きます。
「差分確認画面へ遷移」ボタンから、インポート画面へ遷移します。
Git連携機能 で利用するインポートの動作仕様は、「インポート」の動作仕様と同一です。
現在のアプリケーションと、リモートリポジトリのアプリケーションに含まれるコミットが同一の場合、警告メッセージが表示されます。
リモートリポジトリにアップロードしていない修正がある状態でインポートを行うと、リモートリポジトリの内容でアプリケーションが上書きされます。

注意

パーソナルアクセストークンの有効期限が切れた場合、インポートに失敗することがあります。
その場合、新しくGitの連携先ホスティングサービスでパーソナルアクセストークンを発行してください。
新しく発行したパーソナルアクセストークンを登録したい場合は、Git認証定義を削除した上で、新規にGit認証定義を登録してください。

4.12.5.2. アプリケーションが環境に存在せず、新規にリモートリポジトリからインポートを行う場合

サイトマップの「Accel Studio/ Git連携 /リモートリポジトリからインポート」メニューからインポートを行います。
リモートリポジトリからインポートした際、新規にアプリケーションをインポートするには以下2つの情報が必要です。
詳細は「アップロードの動作仕様」を参照してください。
  • 連携先情報
  • アップロード情報
リポジトリURLを入力し、「ブランチを取得」ボタンを押下すると、リモートリポジトリのブランチがプルダウンで選択可能です。
ブランチを選択して、内容の確認を行った後にインポートします。
インポート前に、対象のアプリケーション情報として以下の情報の確認ができます。
  • アプリケーション情報

  • アプリケーションカテゴリ情報

  • リソース情報
    • リソース情報の詳細はインポート・エクスポートの「リソース情報詳細」を参照してください。
インポート前に、リソース差分の確認ができます。
インポート適用時のリソース差分の確認については「インポート適用時のリソース差分の確認」を参照してください。
Git認証定義が未登録の場合、画面上からGit認証情報を登録します。
Git認証定義の詳細は「Git認証定義の動作仕様」を参照してください。

4.12.6. リモートリポジトリの連携解除の動作仕様

Git連携 メニューの「リポジトリの連携を解除」から、アプリケーションとリポジトリの連携を解除します。
連携を解除してもリモートリポジトリのアプリケーションは削除されません。
また、連携先のリモートリポジトリ内のブランチも削除されません。
アプリケーションとリポジトリの紐づけを解除した後、再度アプリケーションに別のリポジトリを連携したい場合、リポジトリ連携ダイアログから再連携してください。
詳細は「リモートリポジトリに連携済の場合」を参照してください。

4.12.7. 利用時の注意事項

Git連携機能 を利用する際は以下の注意事項をふまえ、利用してください。

注意

1リポジトリで複数のアプリケーションを管理することはできません。
すでにアプリケーションが連携済のリポジトリに対して、別のアプリケーションをアップロードしようとした場合は、エラーが発生します。
連携先のGitホスティングサービスで、直接リポジトリに対して複数アプリケーションをプッシュした場合、リモートリポジトリからインポートする際にエラーが発生します。

注意

連携先のGitホスティングサービスにてアップロード可能なファイルサイズは100MBです。上限を超過した場合、アップロード時にエラーが発生します。

注意

リモートリポジトリにアップロードされたjson、および、XMLファイルを直接編集してインポートした場合、アプリケーションが正常に動作しなくなる可能性があります。