Devops/CI, CD 3

AWS Service를 활용한 AMI CI/CD 환경 구성 (Packer)

AWS에서 기본적으로 제공하는 Code 시리즈 (CodeCommit, CodeBuild, CodePipeline)을 이용한 OS 이미지가 지속적이고 정기적으로 배포될 수 있는 환경을 구성해보았다. 기본적으로는 Jenkins와 같은 CI툴과 Spinnaker와 같은 CD툴을 사용해서 구현할 것으로 보이나, 그런 시스템이 구축되지 않은 소규모 환경에서는 위와 같이 AWS Native한 서비스를 사용해도 기본적인 구현은 충분히 가능할 것으로 보인다. 위에는 추가하지 않았으나, SNS를 활용한 Notification을 추가할 수도 있고, AWS Pipeline에 추가적인 스텝을 구현하는 것도 가능하여 추가적으로 확장이 가능하며, Packer를 이용한다는 점은 동일하므로 ansible과 같은 솔루션도 사용이 가능..

Devops/CI, CD 2021.06.30

[용어정리] CI/CD, BDD

목차 CI/CD, BDD Terraform & Jenkins Study를 하면서, CI/CD라는 용어를 접하게 되었고 (이미 AWS Well Architecture 등을 통해 많이 접하였지만) Terraform의 Testing Tool을 살펴보던 중 Terraform Compliance라는 툴을 통해 BDD라는 용어를 접하게 되었다. 이를 정리하고자 한다. CI(Continuous Integration) 지속적 통합은 자동화된 빌드 및 테스트가 수행된 후, 개발자가 코드 변경 사항을 중앙 리포지토리에 정기적으로 병합하는 데브옵스 소프트웨어 개발 방식입니다. 지속적 통합은 소프트웨어 릴리스 프로세스 중 빌드 또는 통합 단계를 주로 가리키며, 자동화 구성 요소(예: CI 또는 빌드 서비스)와 문화적 구성 요..

Devops/CI, CD 2020.04.28

[DEVOPS] 빌드 자동화 환경 구축 일지 I

목표 1. Terraform을 Jenkins Pipeline을 통해 실행한다. 2. 여러 Account의 AWS 인증정보를 Vault를 통해 안전하게 관리한다. 3. 구축한 환경의 재현이 간단해야 한다. (Docker) 4. 추후 확장이 용이해야 한다. 구성요소 1. Docker - Vault, Consul, Jenkins를 기동시키는 역할 - Docker Compose를 통해 구성 2. Hashicorp Vault & safe - Safe를 통해 좀 더 쉽게 사용할 수 있다. - Vault KV를 통해 Credential 정보를 저장해두고, safe를 통해 Pipeline 중간에 get 해오는 방식으로 활용 - Storage Backend : Consul - Secret Backend : AWS 3. ..

Devops/CI, CD 2020.04.26
1