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

GitHub 連携

GitHub 連携の概要​

SEW は現在 GitHub との連携をサポートしており、GitHub アカウントおよびリポジトリをプラットフォームに直接リンクできます。この接続により、GitHub は SEW リポジトリと同期されたローカルのバージョン管理リポジトリとして機能します。管理者は認証の設定、リポジトリの選択、同期設定の管理を行うことができ、チームは使い慣れた GitHub のワークフローを維持しながら、SEW の集中型プロジェクト管理および自動化機能の恩恵を受けられます。

連携の主な機能​

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

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

GitHub を SEW と連携することで、チームの生産性とプロジェクト効率を高めることができます。

SEW と GitHub の接続方法​

SEW 連携のための GitHub の設定​

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

これらの準備手順を実施することで、GitHub アカウントが SEW との連携に対応し、より強化されたコラボレーションとプロジェクト管理のメリットを享受できるようになります。

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

SEW プラットフォームを GitHub に接続するには、次の手順に従います。

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

自動更新のための Webhook の設定​

自動更新を有効にし、変更が SEW に速やかに通知されるようにするには、GitHub リポジトリ内で Webhook を適切に設定する必要があります。設定方法は次のとおりです。

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

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

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

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

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

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

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

設定が完了すると、Webhook が SEW に更新情報を送信します。

リポジトリと SEW プロジェクトのリンク​

リポジトリを SEW プロジェクトにリンクするには、次の手順に従います。

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

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

  3. リポジトリの接続:

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

SEW 連携に向けたリポジトリの準備​

リポジトリの設定と接続が完了したら、SEW がその内容を適切に処理できるようにコンテンツを準備します。

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

SEW の連携プロセスでは、各リポジトリに 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 PLC プロジェクト: Siemens PLC プロジェクトの管理では、圧縮された .zap ファイルと、.ap ファイルを含む非圧縮のフォルダー構造の両方をサポートしています。各形式の扱い方は次のとおりです。
      • 圧縮ファイル: プロジェクトが圧縮形式の場合、.zap ファイルを直接使用できます。これは、プロジェクトを単一のパッケージとして簡単に転送する際に便利です。たとえば、次のファイルパスを使用します。
        • ./Projects/PLC1/MySiemensPLCProject.zap17
        • ./MySiemensPLCProject.zap19
      • 非圧縮フォルダー: あるいは、.ap ファイルを含む非圧縮フォルダーを使用することもできます。この構成では個々のプロジェクトコンポーネントに容易にアクセスできるため、開発時やデバッグ時に有用です。プロジェクトにアクセスするには次のパスを使用します。
        • ./Projects/PLC1/MySiemensPLCProject/MySiemensPLCProject.ap17
        • ./MySiemensPLCProject/MySiemensPLCProject.ap19
    • Rockwell PLC プロジェクト: Rockwell PLC プロジェクトの場合、プロセスは簡潔です。これらのプロジェクトは単一の .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"
}

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