メインコンテンツまでスキップ

GitHub 連携

GitHub 連携の概要​

SDA は現在 GitHub との連携をサポートしており、GitHub アカウントおよびリポジトリをプラットフォームへ直接リンクできます。この接続により、GitHub は SDA リポジトリと同期されたローカルのバージョン管理リポジトリとして機能します。管理者は認証の構成、リポジトリの選択、同期設定の管理を行えるため、チームは慣れ親しんだ GitHub のワークフローを維持しながら、SDA の一元的なプロジェクト管理機能と自動化機能のメリットを享受できます。

連携の主な機能​

GitHub と SDA を連携することで、次のような利点が得られます。

  • ワークフローの効率化: GitHub の堅牢なバージョン管理を SDA の PLC プロジェクトのバージョン管理および PLC 管理機能とシームレスに統合し、チームのコラボレーションを強化します。
  • 一元管理: コードリポジトリと PLC プロジェクト管理を単一のプラットフォームに統合し、管理とアクセス制御を簡素化します。
  • 自動化とデプロイ: SDA の パイプライン による自動デプロイ機能を活用し、GitHub リポジトリから直接プロジェクトのリリースを効率化します。
  • リアルタイムのコラボレーション: 更新や変更が即座に同期され、すべてのチームメンバーが常に最新のプロジェクトバージョンで作業できます。

GitHub と SDA を連携することで、チームの生産性とプロジェクト効率を向上させることができます。

SDA を GitHub に接続する方法​

SDA 連携のための GitHub の構成​

  1. GitHub にログイン: GitHub の認証情報を用意してください。
  2. Personal Access Token の生成: SDA にアクセス権を付与するには、Developer settings に移動し、Personal access tokens を選択して新しい Fine-grained token を作成します。共有したいリポジトリに対して Contents および Metadata の権限を設定します。
  3. トークンのコピー: このトークンは SDA での認証プロセスで使用するため、安全に保管してください。

これらの準備手順を完了することで、GitHub アカウントが SDA との連携に対応した状態となり、コラボレーションとプロジェクト管理の強化というメリットを得られます。

GitHub と SDA アカウントの接続​

SDA プラットフォームを GitHub に接続するには、次の手順に従ってください。

  1. 設定へのアクセス: SDA プラットフォームで「General Settings」セクションに移動します。
  2. 新しい連携の作成: Integrations セクションに移動し、Add Integration をクリックして新しい連携を追加します。
  3. GitHub アカウントの認証: Add Integration ウィンドウで連携名を入力し、GitHub のアクセストークンを貼り付けます。

自動更新のための Webhook の構成​

自動更新を有効にし、変更が SDA へ速やかに通知されるようにするには、GitHub リポジトリ内で Webhook を適切に設定する必要があります。以下の手順で構成できます。

  1. リポジトリ設定へのアクセス:

    • まず、GitHub リポジトリに移動します。
    • 通常はリポジトリのナビゲーションバーの右端にある「Settings」タブをクリックします。
  2. Webhooks セクションの検索:

    • 設定画面で下方向にスクロールするか、左側メニューの「Webhooks」オプションを探します。
    • 「Webhooks」をクリックして、フックの管理および新規追加を行います。
  3. 新しい Webhook の作成:

    • 「Add webhook」ボタンを押して、新しい Webhook のセットアップを開始します。
    • 特定のイベント発生時に HTTP POST リクエストを送信するエンドポイントである Payload URL の入力が求められます。この値は新規に作成した連携からコピーできます。
  4. Webhook ペイロードの構成:

    • 「Content type」では application/json を選択し、構造化された形式でデータを受信できるようにします。
    • 不正なアクセスから Webhook を保護するために、シークレットキーを設定します。この値は SDA の連携からコピーできます。
  5. イベントの選択:

    • 「Just push events」オプションを選択します。
  6. セットアップの完了:

    • 構成内容を再確認します。
    • 「Add webhook」をクリックして、Webhook を確定し有効化します。

構成が完了すると、Webhook は SDA に更新情報を送信します。

リポジトリを SDA プロジェクトにリンクする​

リポジトリを SDA プロジェクトにリンクするには、次の手順に従ってください。

  1. プロジェクトセクションへのアクセス: SDA プロジェクトを開きます。

  2. プロジェクト編集メニューへのアクセス: プロジェクトページの右上隅にある 3 点アイコンを選択します。

  3. リポジトリの接続:

    • 「Link to Repository」を選択します。
    • 一覧からリンクするリポジトリを選択します。
  4. 確認: セットアップが正しく機能していることを確認します。成功している場合、プロジェクト詳細のヘッダーに GitHub アイコンが表示されます。

SDA 連携のためのリポジトリの準備​

リポジトリの構成と接続が完了したら、SDA がその扱い方を認識できるようにコンテンツを準備します。

GitHub リポジトリのフォルダー構造​

SDA の連携プロセスでは、各リポジトリに 1 つの PLC プロジェクトを格納する必要があります。フォルダー構造はユーザーが自由にカスタマイズできますが、ルートフォルダーには config.sda.json ファイルが含まれていなければなりません。このファイルには、PLC プロジェクトのベンダーと IDE バージョンを指定します。

構成ファイルのスキーマ

  • schema_version: 構成ファイルスキーマのバージョンを示します。デフォルト値は 1.0.0 で、将来の機能拡張をサポートし、後方互換性を維持します。
  • vendor: PLC プロジェクトのベンダーを指定します。指定可能な値は次のとおりです。
    • siemens
    • rockwell
  • ide_version: PLC プロジェクトのバージョンを指定します。形式は {major}.{minor}.{patch} です。例えば、Siemens TIA V17 は 17.0.0、Rockwell V37 は 37.0.0 と表されます。
  • project_path: このフィールドには、リポジトリ内の PLC プロジェクトへの正しいパスを指定します。リポジトリのルートフォルダーを起点とした相対パス形式を使用します。つまり、project_path を設定する際にはルートディレクトリ自体をパスに含めず、対象の PLC プロジェクトフォルダーに至るパスセグメントを指定します。例えば、PLC プロジェクトがルートディレクトリ直下の Projects というフォルダー内にあり、さらにその Projects の中の PLC1 フォルダーに目的のプロジェクトファイルが格納されている場合、project_path は ./Projects/PLC1/MySiemensPLCProject.zap17 となります。この方式では、システムによって異なる可能性のある絶対パスに依存しないため、リポジトリが使用されるさまざまな環境間で一貫したファイル参照を維持できます。
    • Siemens オートメーションプロジェクト: Siemens のオートメーションプロジェクトの管理では、圧縮された .zap ファイルと、.ap ファイルを含む非圧縮のフォルダー構造の両方をサポートしています。これらの形式の扱い方は次のとおりです。
      • 圧縮ファイル: プロジェクトを圧縮形式で保持している場合は、.zap ファイルを直接使用できます。これは単一パッケージとしてプロジェクトを簡単に転送する際に便利です。例として、次のようなファイルパスを使用します。
        • ./Projects/PLC1/MySiemensPLCProject.zap17
        • ./MySiemensPLCProject.zap19
      • 非圧縮フォルダー: あるいは、.ap ファイルを含む非圧縮フォルダーを使用することもできます。この構成では個々のプロジェクトコンポーネントに容易にアクセスできるため、開発やデバッグの際に有用です。プロジェクトにアクセスするには、次のパスを使用します。
        • ./Projects/PLC1/MySiemensPLCProject/MySiemensPLCProject.ap17
        • ./MySiemensPLCProject/MySiemensPLCProject.ap19
    • Rockwell オートメーションプロジェクト: Rockwell のオートメーションプロジェクトでは、プロセスが簡素化されています。これらのプロジェクトは単一の .ACD ファイルにカプセル化されているため、プロジェクトの管理と共有が容易になります。Rockwell の PLC プロジェクトにアクセスするには、次の手順に従ってください。
      • ACD ファイル: .ACD ファイルには必要なプロジェクトデータのすべてが含まれています。次のようにファイルを指定するだけです。
        • ./Projects/PLC1/MyRockwellPLCProject.ACD
        • ./MyRockwellPLCProject.ACD

config.sda.json ファイルの例​

{
"schema_version": "1.0.0",
"vendor": "siemens",
"ide_version": "17.0.0",
"project_path": "./SimulatedAxisSinamicsV90_S71212C.zap17"
}

正常に完了すると、リポジトリが SDA プロジェクトにリンクされ、コラボレーションとプロジェクト管理が向上します。以降、GitHub リポジトリにプッシュされる新しいコミットごとに、SDA プロジェクト内に対応するプロジェクトバージョンが作成されます。