devops 4

Docker란

Docker란? 기존의 문제는 서버 PC마다 환경이 다르고 매번 환경변수와 의존성을 설정하는 것이 매우 어렵습니다. 이로 인해 서버와 PC마다 버전 차이 등으로 실행 결과가 달라지는 문제가 발생합니다. 이러한 문제를 해결하기 위해 개발된 것이 도커이며 App 구성과 런타임 환경에서 필요한 요소들을 모아서 패키징 하는 것을 도와줍니다. 결론적으로 Docker는 개발자가 경량 컨테이너를 사용하여 애플리케이션을 작성, 배포 및 관리할 수 있는 최첨단 기술입니다. 또한 이러한 컨테이너는 이식 가능하고 확장 가능하며 다양한 환경에서 일관되게 실행할 수 있습니다. Docker의 장점 Docker는 개발 가속화, 효율적인 리소스 활용, 배포 간소화, 확장성, 팀 간의 협업 향상 등 다양한 이점을 제공합니다. 이러한 ..

devops 2023.11.06

Jenkins로 배포 자동화 실현해보기

우선 Jenkins란 Jenkins란 여러 개발자들이 프로그램을 개발할 때 소스 코드들의 테스트, 빌드, 배포의 프로세스를 자동화하여 지속적인 통합(Continuous Integration) 환경을 제공하여 소프트웨어의 품질과 개발 생산성을 높여주는 Tool이다. 500여 가지가 넘는 다양한 플러그인들을 조합하여 pipeline을 구축하여 CI 과정을 Jenkins에 구축을 해놓게 되면 Jenkins는 구축을 해놓은 처리 방식대로 해당 일들을 처리해준다. 이러한 면에서 보면 로고와 같이 시킨 대로 일을 처리해주는 집사라고 볼 수 있다. Jenkins가 가져다주는 이점들 반복되는 프로젝트 세팅 작업의 자동화 애플리케이션을 개발하기 위한 프로젝트 세팅 작업은 단순 작업의 반복이므로 귀찮게 느껴진다. Jenk..

devops 2022.09.04

CI/CD

CI (Continuous Integration) 란 CI는 Continuous Integration의 약자이며 지속적인 통합을 의미한다. 쉽게 풀어서 말하면 여러 개발자들의 코드 베이스를 계속해서 통합하는 것을 말하며 1. 빌드 2. 테스트 3. 통합 4. 배포의 과정 중 1~3의 배포 전까지 여러 브랜치의 코드를 통합하는 과정을 거친다. 각 브랜치의 코드를 통합하는 과정을 거칠 때마다 우리는 빌드 후 테스트를 돌려야 하고 기존 코드와 충돌이 없는지 확인해야 하며, 통합을 위한 규칙을 잘 지켰는지 확인해야 한다. 이러한 과정을 자동화하여 반복하기 때문에 이를 지속적 통합이라 한다. CD (Continuous Delivery) CD는 Continuous Delivery 혹은 Continuous Depol..

devops 2022.08.13

compile(컴파일), build(빌드), deploy(배포)

compile(컴파일) 이란 개발자가 작성한 소스 코드를 컴퓨터가 이해할 수 있는 언어로 번역하는 일을 뜻한다. 즉 java의 경우는 javac를 통하여 .java파일(컴파일 전)를 .class파일(컴파일 후)로 생성하는 과정을 말한다. 컴파일되는 과정을 수동으로 해보면 아래와 같다. 1) HelloCompile.java 생성 public class HelloCompile { public static void main (String [] args) { System.out.println("Hello Compile!"); } } 2) HelloCompile.java를 javac로 컴파일. 컴파일을 하게 되면 HelloCompile.class가 생성 된다. 3) java로 컴파일된 HelloCompile.cl..

devops 2022.05.12