CI/CD는 지속적 통합(Continuous Integration) 및 지속적 제공/배포(Continuous Delivery/Deployment)를 의미하며, 소프트웨어 개발 라이프사이클을 간소화하고 가속화하는 것을 목표로 합니다.
지속적 통합(CI)은 코드 변경 사항을 공유 소스 코드 리포지토리에 자동으로 자주 통합하는 사례를 나타냅니다. 지속적 제공 및/또는 배포(CD)는 코드 변경 사항의 통합, 테스트, 제공을 나타내는 프로세스로, 두 가지 부분으로 구성됩니다. 지속적 제공에는 자동 프로덕션 배포 기능이 없는 반면, 지속적 배포는 업데이트를 프로덕션 환경에 자동으로 릴리스합니다.
이렇게 연결된 두 사례를 일반적으로 "CI/CD 파이프라인"이라 부르며, 개발 팀과 운영 팀이 DevOps 또는 SRE(사이트 신뢰성 엔지니어링)를 통해 애자일 방식으로 협력하여 이를 지원합니다.
CI/CD와 DevOps 비교
CI/CD는 개발 팀과 운영 팀 간 협업 촉진을 목표로 하는 DevOps 방법론의 필수적인 부분입니다. CI/CD와 DevOps는 모두 코드 통합 프로세스를 자동화하는 데 중점을 두어 사용자에게 가치를 제공할 수 있는 프로덕션 환경에서 아이디어(예: 새 기능, 개선 사항 요청, 버그 수정)가 개발에서 배포 단계로 이동하는 프로세스를 가속화합니다.
협업을 중시하는 DevOps 프레임워크에서 보안은 초기 단계부터 통합되어 공동의 책임이 됩니다. 이러한 사고방식이 매우 중요해지면서, DevOps 이니셔티브에 보안 기반을 구축해야 할 필요성을 강조하기 위해 "DevSecOps"라는 용어가 등장하게 되었습니다. DevSecOps(개발, 보안, 운영)는 전체 IT 라이프사이클에 걸쳐 보안을 통합하는 방식으로 책임을 공유하는 문화, 자동화 및 플랫폼 설계에 대한 접근 방식입니다. DevSecOps의 핵심 구성 요소는 보안 CI/CD 파이프라인의 도입입니다.
- Jenkins: 단순 CI 서버에서 완전한 CD 허브까지 모든 것을 처리하도록 설계된 툴
- Spinnaker: 멀티클라우드 환경을 위해 구축된 CD 플랫폼
- GoCD: 모델링 및 시각화에 중점을 둔 CI/CD 서버
- Concourse: "지속적인 오픈소스 작업 툴"
- Screwdriver: CD용으로 설계된 빌드 플랫폼
1. 구성 목적
- 폐쇠망의 경우 외부랑 통신이 어렵기 때문에 rpm 패키지를 개별로 받아서 설치해야되는 번거로움이 있다.
이경우 Repository Server를 DMZ 망에 구성후 내부망에 서버들을 Repository Server를 바라보게 하여 yum을 사용 가능하게 할 수 있습니다.
2. Repository Server 사전 설정
2.1 DNS 설정
- Redhat 과 통신이 ip가 아닌 URL 통신이라 DNS 설정이 필요합니다.
/etc/resolv.conf 파일에 nameserver 168.126.63.1 입력하여 줍니다.
'IT TechStory' 카테고리의 다른 글
Flutter Setting (0) | 2024.04.24 |
---|---|
OCPP1.6 extend ISO_15118 and PNC (0) | 2024.04.03 |
Amazon Linux 명령어 (0) | 2024.03.19 |
CentOS JDK 멀티버젼 변경관 (0) | 2024.02.26 |
openssl 인증서 생성 및 적용 (0) | 2024.02.21 |