지난 글에 이어 CloudNet@의 CI/CD 스터디를 진행한 내용을 담고 있습니다.GitHub Actions란?GitHub Actions는 GitHub에서 제공하는 CI/CD(Continuous Integration/Continuous Deployment) 도구로,코드를 빌드, 테스트, 배포하거나 자동화된 워크플로우를 실행할 수 있도록 지원합니다. 사전적 의미로 "리포지토리에서 소프트웨어 개발 워크플로우를 자동화, 사용자 지정 및 실행"할 수 있는 서비스입니다.쉽게 말하자면 "이벤트를 받아 코드가 동작하는 컴퓨터"입니다.GitHub Actions의 주요 구성 요소 Event (이벤트)GitHub Actions를 트리거(실행)하는 조건으로, 주로 GitHub 저장소에서 발생하는 작업입니다.예:push..
안녕하세요, 가시다님이 운영하시는 cicd 스터디 스터디 내용을 정리한 포스팅입니다. CI/CD 정의 CI/CD는 단순한 기술적 접근을 넘어 소프트웨어 개발의 철학적 변화를 대변합니다. 개발부터 운영까지의 전체 생명주기를 유기적이고 seamless하게 연결하는 혁신적인 방법론입니다.Continuous Integration (지속적 통합)개발자들의 코드 변경사항을 중앙 저장소에 빈번하고 자동으로 병합하는 소프트웨어 개발 실천 방식입니다.CI의 라이프 사이클계획: 요구사항 정의와 설계코딩: 실제 코드 작성빌드: 코드를 실행 가능한 애플리케이션으로 변환테스트: 품질 검증 및 오류 탐지패키징: 배포 준비Continuous Deployment (지속적 배포)CI를 통해 검증된 소프트웨어를 실제 운영 환경에 자동으..
마지막 Map state로 Dynamic Parallelism (동적 병렬)을 들 수 있습니다. Fan out 패턴을 통해서 동일한 Task의 리스트를 보내서 이를 병렬적으로 처리하는 것을 가능케 합니다. 예를 들어, 여러 브랜치에서의 워크플로우 혹은 Scatter-Gather 패턴으로, 다수의 리포지토리에서 변화된 코드의 적용이 필요할 경우와 관련이 있습니다. 자, 그럼 언제 커스텀 파이프라인을 사용해야 될까요? 짧게 말해, 존재하는 툴에서 업무에 바로 사용해야 할 기능이 부족할 때, 우리는 종종 배포 환경에서 복잡한 인프라를 배포하고, 구성 요소 간의 상호 의존성이 여럿인 경우를 빈번하게 볼 수 있습니다. - 예를 들어, s3에서 오브젝트 세트를 새로운 계정의 새로운 버킷으로 데이터베이스 테이블에서 ..
- CodeCommit은 완전 관리형 git 리포지토리입니다. - 파일 전송 간 / 유휴 상태에서도 자동으로 암호화합니다. - AWS IAM과 사용할 수 있습니다. 이번 포스팅에서는 리포지토리에서 clone, 변화를 주기 위해서 git helper를 통해서 IAM 크리덴셜을 사용할 예정입니다. 일전에 #1에서 만들었던 리포지토리로 이동합니다. 해당 콘솔에서 확인할 수 있는 화면은 다음과 같습니다. 여기서는 배포된 코드 내용 / Pull Request 이력 / 커밋 이력 / 브랜치 등을 확인할 수 있습니다. 다음의 서비스는 CodeBuild입니다. - 완전 관리형 빌드 서비스로, 소스 코드를 컴파일할 수 있고, 테스트 수행 그리고 소프트웨어 패키지를 만듭니다. - 리포지토리에 코드를 푸시하면 빌드, 실행 ..
안녕하세요! Devfest Cloud Hero 세션에 오신 여러분 환영합니다. 이번 랩을 통해서 다음의 내용을 학습합니다. 1. Kubernetes 클러스터 생성, 2. 애플리케이션을 다운로드 / Git 저장소 생성 후 GCR에 배포합니다. 3. Helm으로 Spinnaker를 Kubernetes Engine에 배포합니다. 4. Docker Image를 빌드합니다. 5. 애플리케이션 변경시 Docker image 변경하는 트리거를 만들어 봅니다. 6. Spinnaker 파이프라인을 구성합니다. 가용 영역을 us-central1-f로 설정하기 gcloud config set compute/zone us-central1-f GKE 클러스터 생성하기 gcloud container clusters create ..