본문으로 건너뛰기

GitHub 연동

GitHub 연동 개요​

SDA는 현재 GitHub 연동을 지원하여 GitHub 계정과 리포지토리를 플랫폼에 직접 연결할 수 있습니다. 이 연결을 통해 GitHub는 SDA 리포지토리와 동기화된 상태를 유지하는 로컬 버전 관리 리포지토리 역할을 할 수 있습니다. 관리자는 인증을 구성하고, 리포지토리를 선택하며, 동기화 설정을 관리할 수 있습니다. 이를 통해 팀은 익숙한 GitHub 워크플로를 유지하면서도 SDA의 중앙 집중식 프로젝트 관리 및 자동화 기능의 이점을 누릴 수 있습니다.

연동의 주요 기능​

GitHub를 SDA와 연동하면 다음과 같은 여러 이점이 있습니다.

  • 간소화된 워크플로: GitHub의 강력한 버전 관리 기능을 SDA의 PLC 프로젝트 버전 관리 및 PLC 관리 기능과 매끄럽게 통합하여 팀 협업을 강화합니다.
  • 중앙 집중식 관리: 코드 리포지토리와 PLC 프로젝트 관리를 단일 플랫폼에서 결합하여 관리와 접근 제어를 단순화합니다.
  • 자동화 및 배포: SDA의 pipelines를 활용한 자동 배포 기능으로 GitHub 리포지토리에서 직접 프로젝트 릴리스를 간소화합니다.
  • 실시간 협업: 업데이트와 변경 사항이 즉시 동기화되어 모든 팀원이 최신 프로젝트 버전으로 작업할 수 있습니다.

GitHub를 SDA와 연동하면 팀의 생산성과 프로젝트 효율성을 향상시킬 수 있습니다.

SDA를 GitHub에 연결하는 방법​

SDA 연동을 위한 GitHub 구성​

  1. GitHub에 로그인: GitHub 자격 증명이 준비되어 있는지 확인하십시오.
  2. 개인용 액세스 토큰 생성: 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 액세스 토큰을 붙여넣습니다.

자동 업데이트를 위한 웹훅 구성​

자동 업데이트를 활성화하고 SDA가 변경 사항을 신속하게 인지하도록 하려면 GitHub 리포지토리 내에서 웹훅을 효과적으로 설정해야 합니다. 구성 방법은 다음과 같습니다.

  1. 리포지토리 설정 접근:

    • 먼저 GitHub 리포지토리로 이동합니다.
    • 일반적으로 리포지토리 탐색 표시줄의 맨 오른쪽에 위치한 "Settings" 탭을 클릭합니다.
  2. Webhooks 섹션 찾기:

    • 설정에 들어간 후 아래로 스크롤하거나 왼쪽 메뉴에서 "Webhooks" 옵션을 찾습니다.
    • "Webhooks"를 클릭하여 훅을 관리하고 새로 추가합니다.
  3. 새 웹훅 생성:

    • "Add webhook" 버튼을 눌러 새 웹훅 설정을 시작합니다.
    • 특정 이벤트가 발생할 때 HTTP POST 요청을 보낼 엔드포인트인 Payload URL을 입력하라는 메시지가 표시됩니다. 이 값은 새로 생성한 연동에서 복사할 수 있습니다.
  4. 웹훅 페이로드 구성:

    • "Content type"에서 application/json을 선택하여 구조화된 형식으로 데이터를 수신하도록 합니다.
    • 무단 액세스로부터 웹훅을 보호하기 위해 시크릿 키를 설정합니다. 이 값은 SDA 연동에서 복사할 수 있습니다.
  5. 이벤트 선택:

    • "Just push events" 옵션을 선택합니다.
  6. 설정 완료:

    • 구성을 다시 확인합니다.
    • "Add webhook"을 클릭하여 웹훅을 최종 확정하고 활성화합니다.

구성이 완료되면 웹훅이 SDA로 업데이트를 전송합니다.

리포지토리를 SDA 프로젝트에 연결하기​

리포지토리를 SDA 프로젝트에 연결하려면 다음 단계를 따르십시오.

  1. 프로젝트 섹션 접근: SDA 프로젝트를 엽니다.

  2. 프로젝트 편집 메뉴 접근: 프로젝트 페이지 오른쪽 상단의 점 세 개를 선택합니다.

  3. 리포지토리 연결:

    • 'Link to Repository'를 선택합니다.
    • 목록에서 연결할 리포지토리를 선택합니다.
  4. 확인: 설정이 정상적으로 작동하는지 확인합니다. 성공하면 프로젝트 세부 정보 헤더에 GitHub 아이콘이 표시됩니다.

SDA 연동을 위한 리포지토리 준비​

이제 리포지토리가 구성되고 연결되었으므로, SDA가 리포지토리를 처리하는 방법을 이해할 수 있도록 내용을 준비합니다.

GitHub 리포지토리 폴더 구조​

SDA 연동 프로세스에서는 각 리포지토리가 하나의 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 프로젝트에 해당하는 프로젝트 버전을 생성합니다.