MATLAB 및 Simulink를 활용한 CI/CD
엔지니어링 및 DevOps 팀을 위한 기술 FAQ
엔지니어링 및 DevOps 팀을 위한 기술 FAQ
CI/CD(지속적 통합/지속적 배포)를 통해 팀은 MATLAB 및 Simulink를 사용해 안정적이고 재현할 수 있고 감사 가능한 방식으로 빌드, 테스트 및 검증 워크플로를 자동화할 수 있습니다.
CI는 모든 변경 사항이 있을 때마다 모델 검사, 시뮬레이션, 테스트 스위트(MATLAB Test 및 Simulink Test 포함) 및 코드 생성을 실행하여 팀이 조기에 문제를 검출하는 데 도움이 됩니다. 이를 통해 통합에서 예기치 못한 문제를 줄이고, 일관되고 반복 가능한 개발 공정을 구축할 뿐만 아니라 테스트 결과, 커버리지 및 분석 출력을 바탕으로 확신을 가지고 배포할 수 있습니다.
네. 시뮬레이션, 테스트(SIL 및 PIL 포함), 검사 및 코드 생성을 모두 프로그래밍 방식으로 실행하고 다른 파이프라인 단계처럼 오케스트레이션할 수 있어 모델 기반 설계 워크플로를 표준 CI/CD 단계에 직접 매핑할 수 있습니다.
네. MATLAB 및 Simulink는 Azure DevOps, GitHub Actions, GitLab CI/CD, Jenkins 등 모든 CI/CD 플랫폼에서 실행할 수 있습니다. 빠르게 시작할 수 있도록 널리 사용되는 주요 CI/CD 플랫폼을 위한 플러그인도 제공됩니다.
CI/CD에서 MATLAB 및 Simulink를 사용하려면 다음이 필요합니다.
더 자세한 내용은 DevOps 통합 안내서에서 확인할 수 있습니다.
컨테이너는 동일한 이미지 정의에서 작업을 시작하여 런타임 환경 표준화, 에이전트 전반의 드리프트 감소, 재현성 개선 등에 도움이 됩니다. MathWorks의 MATLAB Dockerfile 참조 아키텍처를 사용해 여러분의 CI/CD 시스템을 위한 MATLAB 및 Simulink 컨테이너를 만들 수 있습니다. 일부 CI 플랫폼에서는 특히 리눅스가 아닌 환경에서는 컨테이너 대신 가상 머신 또는 영구 러너를 활용할 수 있습니다. 하지만 효율성과 효과로 인해 CI/CD에서는 컨테이너를 선택하는 경우가 많습니다.
일반적인 파이프라인에서는 풀(pull), 빌드, 테스트, 분석 및 게시의 익숙한 단계를 따릅니다. 워크플로에는 흔히 모델 어드바이저 검사, 시뮬레이션 기반 테스트(해당하는 경우 SIL/PIL 포함), 코드 생성, 정적 분석 및 커버리지 수집이 포함되며, 각 단계에서는 CI 시스템이 수집하고 표시하는 아티팩트를 생성합니다.
시작하는 데 도움이 되는 다음과 같은 여러 예제 파이프라인 구성이 제공됩니다.
MATLAB 및 Simulink는 핵심 요구사항입니다.
추가 제품은 파이프라인에서 자동화할 항목에 따라 달라지며, 예를 들면 다음과 같습니다.
CI/CD 파이프라인 도입 및 생성을 가속화하려는 팀은 CI/CD Automation for Simulink Check™ 지원 패키지도 사용할 수 있습니다.
모델 검사, 시뮬레이션, 테스트 또는 빌드와 같은 이미 진행 중인 작업으로 시작한 다음, 스크립트를 통해 이러한 단계를 반복 가능하게 만들 수 있습니다. 워크플로가 로컬에서 안정화되면 CI 시스템을 구성하여 동일한 명령을 자동으로 실행하고 시간이 지남에 따라 확장할 수 있습니다.
아니요. 대화형 개발은 이전과 같이 데스크탑 툴에서만 제공됩니다. CI는 빌드, 테스트 및 검증 단계의 패키징 방법을 변경하므로 환경 전반에서 비대화형으로 일관성 있게 실행할 수 있습니다.
CI/CD 시스템의 MATLAB 라이선스를 확보할 수 있는 가장 좋은 방법은 MATLAB 배치 토큰을 이용하는 것입니다. 참고: 배치 토큰을 획득하려면 추가 MATLAB 라이선스가 필요할 수 있습니다.
MATLAB 및 Simulink에서 스크립트로 작성할 수 있는 시뮬레이션, 테스트 실행, 코드 생성 및 추적성 보고와 같은 거의 모든 작업을 CI에서 실행할 수 있습니다. MATLAB 빌드 툴 및 CI/CD Automation for Simulink Check 지원 패키지를 사용하면 사용자 지정이 가능하고 확장이 가능한 CI 파이프라인을 구축할 수 있습니다.
네. 많은 고객은 CI 파이프라인의 코드 생성 및 검증을 자동화하여 고급 워크플로를 간소화합니다. CI에서 코드 생성 제품을 사용하려면 CAL(Client Access License)이 필요할 수 있습니다.
네. CI는 검증 워크플로를 자동화하고 테스트 결과, 보고서, 커버리지, 분석 결과와 같은 반복 가능한 출력물을 생산합니다. 이러한 관행은 DO-178C, IEC 61508 또는 ISO 26262와 같이 표준에 부합하는 작업을 포함하여 일반적으로 추적 가능하고 검토 가능한 검증 증거가 필요한 엔지니어링 워크플로에 사용됩니다.
모델 어드바이저 및 Polyspace를 사용한 정적 분석 등의 검사는 스크립트로 작성된 CI 단계로 실행되어 팀 전반에서 검토할 수 있도록 구조화된 결과를 게시합니다.
CI는 특정 변경 사항과 관련된 입력, 구성, 검증 결과 등 각 실행에 대한 지속성 있는 기록을 유지합니다.
파이프라인은 작업을 독립적인 단계로 분할하고 여러 러너로 분산시켜 확장할 수 있으며, 빠르게 실행되는 검사와 오래 실행되는 시뮬레이션이나 빌드를 분리시켜 예측 가능한 주기 시간을 유지할 수 있습니다.
네. 사용 가능한 컴퓨팅 및 라이선스 리소스에 따라, 독립적인 시뮬레이션, 테스트 및 빌드를 별도의 CI 작업으로 실행할 수 있습니다.
CI 파이프라인이 멈추는 몇 가지 일반적인 원인은 다음과 같습니다.
많은 팀은 CI/CD 로그에 결과가 갇히거나 CI/CD 시스템 내부에서만 액세스할 수 있는 아티팩트가 생성되는 경우가 많습니다. CI/CD 시스템 외부에서 결과를 확인하려면 파이프라인이 결과를 게시하거나 아티팩트 관리 시스템에 업로드하는지 확인하세요.
일반적인 원인은 다음과 같습니다.
이러한 문제 중 대부분은 MATLAB 배치 토큰을 사용하고 배치 토큰 사용 지침을 따라 방지할 수 있습니다.
팀이 MathWorks에 문의해야 하는 일반적인 경우는 다음과 같습니다.
현재 워크플로가 위의 상황에 해당한다면 집중적인 논의를 통해 시작점을 파악하고 도입 과정에서 흔히 발생하는 함정을 피할 수 있습니다.