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 구성
- GitHub에 로그인: GitHub 자격 증명이 준비되어 있는지 확인하십시오.
- 개인용 액세스 토큰 생성: SDA에 액세스 권한을 제공하려면 Developer settings로 이동하여 Personal access tokens를 선택하고 새로운 Fine-grained token을 생성하십시오. 공유하려는 리포지토리에 대해 Contents 및 Metadata 권한을 설정하십시오.
- 토큰 복사: 토큰은 SDA의 인증 과정에서 사용되므로 안전하게 보관하십시오.

이러한 준비 단계를 따르면 GitHub 계정이 SDA와 연동할 준비를 마치게 되며, 향상된 협업과 프로젝트 관리의 이점을 누릴 수 있습니다.
GitHub를 SDA 계정과 연결하기
SDA 플랫폼을 GitHub에 연결하려면 다음 단계를 따르십시오.
- 설정 접근: SDA 플랫폼으로 이동한 후 'General Settings' 섹션으로 이동합니다.
- 새 연동 생성: Integrations 섹션으로 이동하여 Add Integration을 클릭해 새 연동을 추가합니다.
- GitHub 계정 인증: Add Integration 창에서 연동 이름을 입력하고 GitHub 액세스 토큰을 붙여넣습니다.

자동 업데이트를 위한 웹훅 구성
자동 업데이트를 활성화하고 SDA가 변경 사항을 신속하게 인지하도록 하려면 GitHub 리포지토리 내에서 웹훅을 효과적으로 설정해야 합니다. 구성 방법은 다음과 같습니다.
-
리포지토리 설정 접근:
- 먼저 GitHub 리포지토리로 이동합니다.
- 일반적으로 리포지토리 탐색 표시줄의 맨 오른쪽에 위치한 "Settings" 탭을 클릭합니다.
-
Webhooks 섹션 찾기:
- 설정에 들어간 후 아래로 스크롤하거나 왼쪽 메뉴에서 "Webhooks" 옵션을 찾습니다.
- "Webhooks"를 클릭하여 훅을 관리하고 새로 추가합니다.
-
새 웹훅 생성:
- "Add webhook" 버튼을 눌러 새 웹훅 설정을 시작합니다.
- 특정 이벤트가 발생할 때 HTTP POST 요청을 보낼 엔드포인트인 Payload URL을 입력하라는 메시지가 표시됩니다. 이 값은 새로 생성한 연동에서 복사할 수 있습니다.

-
웹훅 페이로드 구성:
- "Content type"에서
application/json을 선택하여 구조화된 형식으로 데이터를 수신하도록 합니다. - 무단 액세스로부터 웹훅을 보호하기 위해 시크릿 키를 설정합니다. 이 값은 SDA 연동에서 복사할 수 있습니다.
- "Content type"에서
-
이벤트 선택:
- "Just push events" 옵션을 선택합니다.
-
설정 완료:
- 구성을 다시 확인합니다.
- "Add webhook"을 클릭하여 웹훅을 최종 확정하고 활성화합니다.
구성이 완료되면 웹훅이 SDA로 업데이트를 전송합니다.
리포지토리를 SDA 프로젝트에 연결하기
리포지토리를 SDA 프로젝트에 연결하려면 다음 단계를 따르십시오.
-
프로젝트 섹션 접근: SDA 프로젝트를 엽니다.
-
프로젝트 편집 메뉴 접근: 프로젝트 페이지 오른쪽 상단의 점 세 개를 선택합니다.
-
리포지토리 연결:
- 'Link to Repository'를 선택합니다.

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

SDA 연동을 위한 리포지토리 준비
이제 리포지토리가 구성되고 연결되었으므로, SDA가 리포지토리를 처리하는 방법을 이해할 수 있도록 내용을 준비합니다.
GitHub 리포지토리 폴더 구조
SDA 연동 프로세스에서는 각 리포지토리가 하나의 PLC 프로젝트를 포함해야 합니다. 폴더 구조는 사용자가 사용자 지정할 수 있지만, 루트 폴더에는 반드시 config.sda.json 파일이 있어야 합니다. 이 파일은 PLC 프로젝트의 벤더와 IDE 버전을 지정합니다.
구성 파일 스키마
- schema_version: 구성 파일 스키마의 버전을 나타냅니다. 기본값은 1.0.0이며, 향후 확장을 지원하고 하위 호환성을 유지합니다.
- vendor: PLC 프로젝트 벤더를 지정합니다. 허용되는 값은 다음과 같습니다.
siemensrockwell
- 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
- ACD 파일:
- Siemens 자동화 프로젝트: Siemens 자동화 프로젝트를 관리할 때, 압축된
config.sda.json 파일 예시
{
"schema_version": "1.0.0",
"vendor": "siemens",
"ide_version": "17.0.0",
"project_path": "./SimulatedAxisSinamicsV90_S71212C.zap17"
}
성공적으로 완료되면 리포지토리가 SDA 프로젝트에 연결되어 더 나은 협업과 프로젝트 관리가 가능해집니다. 이후 GitHub 리포지토리에 푸시되는 모든 새 커밋은 SDA 프로젝트에 해당하는 프로젝트 버전을 생성합니다.