ソースコントロールの統合

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む5読むのに数分
  • アプリケーション開発者が Git ソースコントロールリポジトリと統合できるようにします。非本番インスタンスから、アプリケーションの複数のバージョンを保存および管理します。

    アプリケーションをソースコントロールにリンクすると、非本番インスタンスですべてのアプリケーション開発者が次の操作を実行できます。
    • Git リポジトリからアプリケーションをインポートします。
    • Git リポジトリからリモート変更をプルして適用します。
    • インスタンスのすべてのローカル変更を Git リポジトリにコミットします。
    • 指定されたバージョンのアプリケーションに永続的にリンクするタグを作成します。
    • 分岐を作成して、アプリケーションの複数のバージョンを同時に管理します。

    統合の要件

    アプリケーションをソースコントロールにリンクするには
    • ユーザーには管理者ロールが必要です。
    • 非本番インスタンスには、Git リポジトリへのネットワークアクセスが必要です。
    • 各アプリケーションは、それ自体の Git リポジトリ内に存在する必要があります。
    • リポジトリユーザーの資格情報は、読み取りおよび書き込みアクセス権を付与する必要があります。
    注:
    インスタンス上のすべてのアプリケーション開発者は、リポジトリごとに 1 組の資格情報を共有します。

    ServiceNow スタジオ で利用可能なオプション

    アプリケーションをソースコントロールにリンクした後に、アプリケーション開発者は、ServiceNow スタジオ をリポジトリ管理に使用できます。開発者は スタジオ から次のことができます
    • アプリケーションリポジトリの資格情報を編集します。
    • インスタンスのすべてのローカル変更をコミットします。
    • リポジトリからのリモート変更を適用します。
    • 分岐を作成します。
    • 分岐を切り替えます。
    • リモートリポジトリからアプリケーションをインポートします。

    ソースコントロールを使用して本番インスタンスでアプリケーションを管理することはお勧めしません。本番環境に展開すると、予期しない結果が生じる可能性があります。「本番展開のヒント」を参照してください。代わりに、アプリケーションリポジトリ、更新セット、または ServiceNow Store を使用して、本番インスタンスでアプリケーションを管理できます。本番インスタンスでのアプリケーション管理の詳細については、「アプリケーションの共有」を参照してください。

    Git リポジトリから利用可能なオプション

    ServiceNow プラットフォームには、インスタンス外のリンクされたアプリケーションファイルを変更するための限定的なサポートがあります。開発者は Git から次の操作を実行できます。
    • アプリケーションファイルを別の Git ディレクトリ構造に移動します。
    • ServiceNow スタジオ の外部でアプリケーションファイルを編集します。

    リポジトリのルートレベルで、sn_source_control.properties と呼ばれるプロパティテキストファイルが生成されます。アプリケーションファイルを別の Git ディレクトリ構造に移動するために、アプリケーション開発者は path パラメーターを設定して、アプリケーションファイルを含むサブフォルダーパスを指定できます。たとえば、アプリケーションを src/app サブフォルダーに移動した場合は、pathpath=src/app に設定します。

    システムは、スタジオ の外部でアプリケーションファイルが変更されたかどうかを判断するために、Git リポジトリに checksum.txt ファイルを生成します。ファイルのチェックサム値が現在のチェックサム値と一致する場合、統合は検証とサニタイズのプロセスをスキップします。チェックサム値が一致しない場合、統合はソースコントロール操作の一部としてアプリケーションファイルを検証してサニタイズします。サニタイズプロセス:
    • 実行されたサニタイズアクションごとに、アップグレードログエントリを作成します。
    • サポートされていないフォルダーとファイルをリポジトリから削除します。
    • システムアプリケーションファイルが XML スキーマの検証に失敗した場合、すべてのソースコントロール操作を中止します。たとえば、データベースディクショナリレコードが XML スキーマの検証に失敗した場合、システムはすべての操作を中止します。
    • 非システムアプリケーションファイルが XML スキーマの検証に失敗した場合、現在のソースコントロール操作をスキップします。

    ソースコントロール統合は、sn_source_control.properties ファイルにリストされているアプリケーションパス内のコンテンツのみをサニタイズします。アプリケーションパス外のリポジトリコンテンツは無視されます。

    MID Server のサポート

    既存の MID Server を使用して、ソースコントロールリポジトリに接続します。MID Server を介してアプリケーションとリンクまたはインポートすると、ファイアウォールの背後にあるリポジトリにアクセスできます。

    ソースコントロール統合のための MID Server の構成

    ソースコントロール統合のために MID Server を構成すると、ServiceNow インスタンスと外部のアプリケーション、データソース、サービスの間の通信やデータの移動が可能になります。

    • glide.attachement.extensions プロパティに「bundle」拡張を追加します。
    • MID Server がプロキシを経由してリモートの Git リポジトリにアクセスする必要がある場合は、次の手順を実行します。
      • agent\conf\wrapper-override.conf ファイルに次の行を追加します。
      • wrapper.java.additionial.3=-Dhttps.proxyHost=<proxyHost>
      • wrapper.java.additionial.4=-Dhttps.proxyPort=<proxyPort>
      • MID を再起動します。
      • 「MID セキュリティポリシー」に新しいエントリを追加します。
      • 名前:<プロキシホスト名>
      • [アクティブ (Active)] のみをオンにします。

    ソースコントロールのコミットのノイズ除去

    ソースコントロールのメタデータレコードについて、ノイズを含む更新フィールドの XML ファイルにアンロードすることをスキップします。