본문으로 건너뛰기

GitHub 연동

GitHub 연동 개요​

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

연동의 주요 기능​

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

  • 워크플로 간소화: GitHub의 강력한 버전 관리 기능을 SEW의 PLC 프로젝트 버전 관리 및 PLC 관리 기능과 원활하게 통합하여 팀 협업을 강화합니다.
  • 중앙 집중식 관리: 코드 리포지토리와 PLC 프로젝트 관리를 단일 플랫폼에서 결합하여 관리와 접근 제어를 단순화합니다.
  • 자동화 및 배포: SEW의 pipelines를 활용한 자동 배포 기능으로 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 액세스 토큰을 붙여넣습니다.

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

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

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

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

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

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

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

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

    • 구성 내용을 다시 확인합니다.
    • "Add webhook"을 클릭하여 웹훅을 완료하고 활성화합니다.

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

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

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

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

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

  3. 리포지토리 연결:

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

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

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

GitHub 리포지토리 폴더 구조​

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