DevOps
4 posts
Numble 배포 자동화 딥다이브 회고록

결과물 배포 쪽은 처음 공부하다보니, 작업량 산정이 안됐다. 결과적으로, 50%도.. 완성 못한 느낌으로 제출할 수 밖에 없게 됐다 ㅠ 호스트님이 의도한 구조는 Terraform으로 클라우드 리소스 생성 및 관리(2개의 ec2 생성) Github push 시, Jenkins 서버에서 Checkout -> build -> deploy 과정을 거침 deploy 단계는 Ansible을 이용해 Web 서버에 배포 로 이해했다. 이걸 의도하신게 아닐 수도 있지만..! 내가 이해한 부분은 이렇다. 나는 Spring server를 배포해보려 했고 내가 시도한 부분을 위와 대조해 정리해보면 Terraform -> VPC 기본 세팅과 2개의 ec2 생성 Jenkins-ec2에 수동으로 Jenkins 설치 및 설정 후 Github web hook을 통해 build 성공 -> 이 과정에서 gradle build 시에는 ec2가 고장이 남.. docker에서 충분히 연습 후에 해야 했는데, 제출날이…

April 09, 2023
DevOps
Numble
1차 세션

CI 보통 개인 branch -> main merge 되면서 Build/Test 하고 Artifact Repo를 통해 필요한 걸 받아오고..? 젠킨스가 하는 일: 깃허브에서 코드가 main branch에 올라가면, hook으로 어딘가로 알려줄 수 있음 그걸 Jenkins에 쏘고 해당 레포를 clone 한다던지 할 수 있음. Jenkins pipeline으로 만들고 Github url 입력. pipeline SCM - github repo JENKINSFILE을 읽고 동작함. Terraform ec2 1개 Jenkins, 1개 Web Server. Private key, Public key를 어디서 어디 것을 알아야 할지. aws key 저장소에 private key를 미리 저장. A에서 private 다운, B에선 public을 등록해서? Ec2를 띄우는건 Terraform으로 가능하지만 그 안에 구성을 만드는건 Ansible을 사용해야함. Deploy Shell script, P…

March 31, 2023
DevOps
테라폼이란?

Terraform 테라폼 공식문서 테라폼? 클라우드 리소스 + on-prem 리소스를 코드로 관리할 수 있는 도구. 컴퓨팅, 스토리지, 네트워크 같은 low-level 뿐 아니라 DNS, SaaS 까지도 관리할 수 있다. 어떻게? Terraform은 API를 통해 클라우드 플랫폼 및 기타 서비스에서 리소스를 생성하고 관리한다. 사실상 거의 모든 플랫폼과 함께 동작할 수 있다. 이미 Terraform에서는 다양한 유형의 리소스, 서비스를 관리하기 위해 providers가 작성되어 있고 AWS, Azure, Kubernetes, Github 등등 지원한다. Write 여러 클라우드 공급자 및 서비스에 걸쳐 있을 수 있는 리소스를 정의한다. 예를 들어 보안 그룹과 로드 밸런서가 있는 VPC(Virtual Private Cloud) 네트워크의 가상 시스템에 애플리케이션을 배포하는 구성을 생성할 수 있다. Plan 기존 인프라 기반으로 생성, 업데이트 또는 삭제할 인프라에 관한 계획(스크…

March 28, 2023
DevOps
Jenkins 설치

Jenkins CI/CD를 위한 툴이다. 로컬 docker에 띄워 사용해본 후, Github hook과 연결하기 위해 ec2에 Jenkins를 띄웠다. https://www.jenkins.io/doc/book/installing/에 OS별 설치 방법이 상세히 나와있다. 현재 이해한 내용은 Jenkins를 8080 포트 (다른 포트도 가능)에 띄운다. localhost:8080를 통해 Jenkins 설정 페이지에 접근하여 설정할 수 있다. 이런 설정은 cli로도 가능할 듯 싶고, 사이트 내에서 , 등을 만들 수 있다. Github repo의 을 실행하는 방식의 Pipeline을 만들면 해당 사이트에서 build하고 결과를 확인할 수 있다. 구현 과정은 ansible 스크립트 작성 이후 해보자! 결국 구현할 구조는 push(Gihub action) -> Jenkins 서버에서 확인 후 build + deploy -> terraform 이용, web-server 구축 및 배포 -> An…

March 28, 2023
DevOps