DevOps 3

Atlantis를 활용한 Terraform Pull Request 자동화 환경 구축

목차 개요 Terraform을 사용하는 초기에는 Local에서 혼자 사용하거나 여러 명이서 사용한다고 하더라도 규모가 작기 때문에 큰 무리가 없다. 그러나, 규모가 점점 늘어나고, 관리해야 하는 리소스가 복잡해지고, 협업을 고민하게 되면 다양한 방법을 찾아보게 될 것이다. Atlantis는 Terraform의 Pull Request를 자동화해주는 오픈소스 솔루션으로, Pull Request(Gitlab에서는 Merge Request)가 발생하면 자동으로 terraform (또는 terragrunt) plan을 해주고, apply도 comment로 가능하도록 지원해준다. 이를 사용하면 모두 동일한 버전의 형상을 사용할 수 있고, comment와 approve, notification 기능을 모두 활용할 수..

[Ansible] OS 별 include_tasks 분기

Packer 구성 중 Provisionor로 Ansible를 사용하여 초기 이미지를 셋팅하는 환경을 구성하였다. 이 때 향후 확장성을 고려하여 각 OS 별(예 : Ubuntu 18.04, Redhat 7 등)로 Role에서 각각의 Task를 타도록 구현하고자 하였다. 즉, 아래와 같은 Flow로 구성된다. packer build → Ubuntu_18.json → playbook.yml → roles/SSI/tasks/main.yml → (OS별 분기) roles/SSI/tasks/Ubuntu_18.yml 해당 구성을 위해서는 include_tasks를 사용해주면 된다. Ubuntu_18/roles/SSI/tasks/main.yml --- # tasks file for SSI - name: select O..

Study 2020.05.31