개발 관련/CI&CD
-
CI / CD / CD개발 관련/CI&CD 2021. 2. 11. 19:03
지속적 통합 (Continuous Integration) 소프트웨어의 모든 변경 사항과 정기적으로 변경된 모든 구성요소를 통합 (최소 하루 한 번) 형상 관리, 편집, 소프트웨어 빌드, 배포 및 테스트를 하나의 자동화된 반복적인 프로세스로 통합 지속적 전달/배포의 일부분 요구사항 새로운 기능, 개선, 버그 수정마다 자동화 테스트 작성 메인 repo를 모니터하고 테스트를 자동으로 실행할 CI 서버/도구 필요 개발자는 가능한 자주 코드 변경에 대한 병합(merge) 필요 장점 지속적 통합, 구축, 테스트 → 결함 빨리 발견 테스트 자동화로 인해 리그레션이 조기에 발견 → production으로 전달되는 버그 ↓ 통합(integration) 이슈 조기 해결 → 쉬운 릴리스 빌드 빌드가 손상되자마자 알려주므로,..
-
CICD 파이프라인 시나리오개발 관련/CI&CD 2021. 2. 11. 16:46
일반적으로 사용할 수 있는 시나리오 예제 풀 리퀘스트(PR)가 생성되면, 테스트 실행 풀 리퀘스트가 develop 브랜치로 병합되면, QA 서버로 배포 풀 리퀘스트가 master 브랜치로 병합되면, production 서버로 배포 예) bitbucket-pipeline.yml (자바스크립트) image: node:15.8.0 pipelines: default: - step: script: - npm run test branches: master: - step: deployment: production script: - npm run test - ./deploy.sh production develop: - step: deployment: staging script: - npm run test - ./dep..
-
CI/CD 구축에 필요한 YAML개발 관련/CI&CD 2020. 9. 26. 00:23
YAML (YAML Ain't Markup Language) 사전적 의미: 모든 프로그래밍 언어를 위한 인간 친화적 데이터 직렬화(Serialization) 표준 CI/CD 파이프라인 빌드 구성(configuration)을 정의 Repository 루트에 존재 파이프 라인은 단계 리스트로 구성 default 브랜치 섹션에서 정의된 브랜치를 제외한 repository에 대한 모든 푸시에 실행 (+tags/bookmarks에 실행 X) branches 모든 브랜치별 빌드 파이프 라인에 대한 섹션 정의 (names, expressions) tags 모든 태그별 빌드 파이프 라인 정의 (names, expressions) bookmarks 모든 북마크별 빌드 파이프 라인 정의 (names, expressions..