DevOps와 CI CD 썸네일형 리스트형 Docker와 Redis Redis란 Remote Dictionary Server 약자로 in-memory 데이터 저장소 Open Source이며 Cache, Message Broker 용도로 많이 사용함 (옛날에는 memcached도 많이쓰였지만 지금은 Redis를 많이 사용) 지정된 Memory가 가득 찬 경우 LRU(Least Recently Used) 알고리즘에 의해 동작 https://hub.docker.com/_/redis redis - Official Image | Docker Hub Quick reference Supported tags and respective Dockerfile links 7.2.3, 7.2, 7, latest, 7.2.3-bookworm, 7.2-bookworm, 7-bookworm, boo.. 더보기 Jenkins를 이용한 CI/CD Pipeline 구축 (5) Pipeline (Advanced Jenkins 사용) Pipeline 각 단계별로 순서와 실행을 자동으로 할 수 있는 작업 이 작업은 스크립트로도 할 수 있음 (1) Declarative : Jenkins pipeline의 최신 기능, 보다 풍부한 기능 제공 (2) Scripted (Groovy + DSL) - 차이점 (1) 시작 시, 유효성 검사 유무 (2) 특정 Stage 실행 가능 여부 (3) 제어문 (4) Option Declarative Pipelines 작성 예시 pipeline { agent any environment { mvnHome = "/home/jenkins/test" } stages { steps('build') { // } steps('test') { // } steps('deploy') { // } } } Scripted Pipe.. 더보기 Jenkins를 이용한 CI/CD Pipeline 구축 (3) Jenkins를 이용한 CI/CD 자동화 1. CI/CD를 위한 Git&Node.js 연동 1.1 Jenkins 환경설정 (1) Setup Git Plugin jenkins에서 Git을 사용할 수 있게 환경을 구성해줘야함 (1) 플러그인 설치 : Jenkins 관리 → Plugins에서 available 탭 클릭, github plugin 설치 플러그인 설치 이후, jenkins 프로젝트에 사용할 git이 잘 설치 되었는지 확인해보자 docker ps docker exec -it jenkins이름 bash git --version //exec는 도커 컨테이너 기동 상태에서 추가적인 커맨드로 더 전달하고자 할 때 사용할 수 있는 명령어 //-it는 -i (인터랙티브) 와 -t(tty) 명령어가 합쳐짐, 터미널을 열어서 해당하는 컨테이너에 터미널을.. 더보기 Jenkins를 이용한 CI/CD Pipeline 구축 (2) Jenkins 소개 및 설치 그리고 환경설정 1. Jenkins 소개 jenkins는 CI/CD 작업을 파이프 라인 (자동화) 또는 워크 플로우를 설계하는데 사용되는 도구 보통 CI 작업들을 위주로 jenkins을 사용하지만 CD쪽도 사용 가능! - 장점 : 많이 사용되어 수많은 PlugIn들이 많아 연동 옵션이 많음! - Build Plugins : Maven, Ant, Gradle ... - VCS Plugins : Git, SVN ... - Languages Plugins : Java, Python, Node.js... - 단점 : (1) JiRa, 레드마인 과 같은 이슈 트래킹을 해주는 SW와의 연동성은 떨어짐 (2) Jenkins만의 고유한 문법 체계인 DSL (Domain Specific Language)을 이용해서 파이프라인 스크립트를.. 더보기 Jenkins를 이용한 CI/CD Pipeline 구축 (1) DevOps와 CI/CD 이해 1. Cloud Native Application의 구성요소 1. Microservices Inner Architecture : 도메인에 대해 비즈니스 로직을 개발한 부분 Outer Architecture : Inner 부분이 잘 동작할 수 있도록 지원해주는 서포티드 시스템 (Service Mesh 부분이 가장 중요!) 2. Containers : MSA 서비스를 클라우드 환경에서 배포 하기 위해서는 컨테이너 기반으로 배포 관리하는 것이 편리함 그 이유는 수많은 마이크로 서비스 어플리케이션을 가상화 방식이 아니라 실제 서버를 통해 기동하게 하는것은 매우 큰 리소스의 낭비뿐만 아니라 비용을 유발시킴 컨테이너 가상화는 기존의 물리적 서버를 운영하는 것에 비해서 적은 리소스를 사용함 또한 각각의 컨테이너가 함.. 더보기 이전 1 다음