Infra/CI&CD
-
Jenkins CI/CD 구축 (With Docker + Github + Docker Hub)Infra/CI&CD 2024. 8. 14. 16:00
깃허브 특정 브랜치에 push하면 jenkins가 dockerfile을 통해 이미지를 빌드하고, 이를 docker hub에 올린다-> 이를 배포할 ec2에서 내려 받아 배포하는 과정을 다룬다. 작업을 크게 설명하면,젠킨스 다운로드배포할 EC2에 대한 Credential 등록 - ssh agentJenkins와 깃 허브 연동및 WebHook 등록 ( Credential 등록 ) Docker hub와 Jenkins 연동( Credential 등록)파이프라인 스크립트 작성 1. 사전 작업 - 배포할 EC2와 Jenkins가 다운로드 받아진 EC2에 Docker가 설치되어 있어야 한다.- docker 설치 후 아래 명령어를 통해 docker 그룹에 user를 추가해준다sudo usermod -aG doc..
-
EC2 배포를 위한 사전작업Infra/CI&CD 2024. 8. 13. 11:39
1. Docker 설치하기 1.1 우분투 시스템 패키지 업데이트 sudo apt-get update 1.2 필요판 패키지 설치 sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common 1.3 Docker 공식 GPG키 추가 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 1.4 Docker 공식 apt 저장소 추가 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs)..
-
Github Action으로 ecr 업로드 하기Infra/CI&CD 2024. 5. 16. 23:39
ECR이란?AWS에서 제공하는 관리형 컨테이너 이미지 레지스트리 서비스AWS IAM을 사용하여 리소스 기반 권한을 가진 프라이빗 리포지토리 지원지정된 사용자 혹은 EC2 인스턴스가 컨테이너 리포지토리 및 이미지에 엑세스 가능하다. Docker hub와 같이 이미지를 저장할 수 있는 저장소와 같은 개념이다.GithubAction과 같이 사용하면, 워크플로우의 결과로 docker Image를 생성하고, ECR에 간단하게 업로드 할 수 있다.ECR 생성 아마존에서 Elastic Container Registry검색해서 시작하자Repository를 하나 만들어보자! 다음으로 IAM으로 넘어가서 User와 Policy를 생성하자정책 생성을 눌러서 새로운 정책을 생성하자 여기서 정책은 ECR에 접근하고, 이미지를 ..
-
Github Action 기본 사용법Infra/CI&CD 2024. 5. 16. 22:33
CI/CD란?소프트웨어 개발 과정에서 효율성과 신속성을 극대화하는 자동화된 프레임워크 개발부터 운영까지 소프트웨어 개발 라이프사이클의 모든 단계를 아우른다.크게 지속적 통합, 지속적 전달, 지속적 배포로 구분 된다. 지속적 통합 (CI)개발자들이 작업한 코드를 주기적으로 공유레퍼지토리에 병합, 코드 통합을 자동화하는 과정 모든 변경사항은 자동 빌드 및 테스트를 거쳐 메인 브랜치에 통합된다.코드 충돌을 최소화하며, 소프트웨어 품질을 유지하고, 배포 준비 상태를 지속적으로 유지할 수 있다.BUILD -> TEST -> MERGE 과정을 아우름 특히! TEST가 매우 매우 중요하다. 지속적 전달 (CD - Continuous Delivery)코드 변경사항이 자동으로 빌드 및 테스트를 거쳐 실제 운영 환경에 ..