목록Devops (34)
Over the limit

Item생성 시, type을 Pipeline으로 지정해준다. pipeline { agent any stages { stage('Compile') { steps { echo "Compiled successfully!"; } } stage('JUnit') { steps { echo "JUnit passed successfully!"; } } stage('Code Analysis') { steps { echo "Code Analysis completed su..

Delivery Pipeline을 구축해보자.대시보드에 존재하는 my-first-project, second, third가 순차적이고 성공적으로 빌드되는 환경부터우선 만들어보자. 첫번째 프로젝트의 설정으로 접속 첫번째 프로젝트가 빌드 된 후 second를 불러온다. 두번째 프로젝트도 마찬가지로 세번째가 빌드될 수 있도록 조치를 취해준다. 다음과 같이 순차적 빌드가 성공적으로 일어난 것을 확인할 수 있다. 이제 이 파이프라인을 시각화 하기 위해, Delivery Pipeline을 설치한다. 새 View를 만들어서 Pipeline을 추가한다.이후 다음 페이지의 하단으로 내려가서, Components를 추가한 후에 생성을 완료해주면 다음과 같은 시각화 파이프라인을 확인할 수 있다.

쿠버네티스는 컨테이너 기반 클라우드 서비스 구조로, 빠른 확장성을 제공한다.하지만 이 확장성이 양날의 검으로 작용할 수도 있다. 가령, 하나의 애플리케이션에서 발생한 보안 취약점이 빠른 속도로 배포되어 시스템 전체를 위협할 수도 있기 때문이다.또한, 클라우드의 확장성과 컨테이너의 가볍고 빠른 특성이 작용하여 악성코드가 빠르게 배포될 수 있다.이러한 보안 취약점에 대응하기 위해 1. 컨테이너에 위치한 애플리케이션의 취약점을 사전에 제거2. 취약점 발생 시 빠르게 안전한 애플리케이션을 재배포 할 수 있는 체계가 필요하다. ■네트워크 정책으로 파드 통신 제어 쿠버네티스 통신 정책은 기본적으로 모든 파드간 통신을 허용한다.네트워크 정책은 파드간 통신, 다른 네트워크 엔드포인트와 파드간의 통신을 제어하는..

Jenkins에서 ansible을 통해기존에 도커에서 기동되는 컨테이너가 있을 경우에중지하거나 여러번 실행해도, 지속적으로 작업이 가능하도록 deployment를 관리하자.순차적 단계를 자동화 시켜야하므로, ansible-playbook을 활용한다. 오늘 실습은 playbook을 통해 이미지 및 컨테이너 빌드가 제대로 이루어지는 지 확인한 후,임시로 생성한 이미지와 컨테이너를 지운 후모든게 확인이 되면 Jenkins에 추가하는 순서로 이루어진다. playbook 만들기 ansible 컨테이너에서 war 파일로 도커 이미지를 생성하는playbook 파일을 생성한다. - hosts: all# become: true tasks: - name: build a docker image wit..

1. 쿠버네티스란? 컨테이너화 된 애플리케이션을 구동하고, 관리해주는 서비스docker와 같은 컨테이너 엔진 자체를 대체할 수는 없지만,컨테이너화된 애플리케이션의 로드밸런싱 & 시크릿 관리 등을 원활히 하도록 돕는다. 2. 장단점 ⭕ 장점서비스 디스커버리, 로드밸런싱컨테이너화 된 애플리케이션 구동스토리지 오케스트레이션자동화된 롤아웃과 롤백시크릿 관리❌ 단점소스 코드 배포 및 빌드 X애플리케이션 레벨 서비스 X로깅, 모니터링 X 3.구성요소 클러스터쿠버네티스 내 가장 큰 단위로, 가상 서버들이 속한 클라우드를 뜻한다.쿠버네티스에서 서버는 노드라는 단위로 불리므로, 클러스터 = 마스터노드 + 워커노드 라고 볼 수 있다. 노드 클러스터 내 가상 서버, 즉 컴퓨팅 엔진 단위클러스터 다음으로 가장 큰 단위..

1. Dockerfile이란?"Docker 이미지 생성 지침" 명령어를 토대로 Dockerfile을 작성한 후 빌드하면, Docker는 Dockerfile에 나열된 명령문을 차례대로 수행하며Docker Image를 생성한다. 만약, 이 Dockerfile이 없다면 1) 특정 웹서버 이미지를 도커를 통해 다운2) 웹서버 이미지를 컨테이너로 실행3) 컨테이너에 웹서버에 빌드할 서버 파일을 import4) 서버를 구동 다음과 같은 절차로 웹 서버를 도커에서 구동해야하지만 Docker file이 있다면 1) 서버파일 측에서 dockerfile을 작성2) dockerfile build 해서 웹 서버 이미지 생성3) 방금 빌드한 이미지를 컨테이너로 실행 -> 자동 서버 구동 이런식으로 간편하게 작업을 간소화할 수..
1. JAR 파일이란?Java Application Archive 파일로서, 자바 애플리케이션을 패키징 하기 위한 포맷이다.클래스 파일, 메타데이터, 리소스 파일 등 모든 의존성을 내장하고 있어서 독립 실행이 가능하다 -> 어디서나 동일한 환경으로 애플리케이션을 실행할 수 있다. 2. WAR 파일이란?Web Application Archive 파일로서, 웹 어플리케이션을 배포하기 위한 자바 아카이브 포맷이다.JSP, 서블릿, html, css 등 웹 어플리케이션을 구성하는 모든 요소들을 하나의 아카이브로 묶어준다. 3. WAR vs JAR 어떤 차이가 있을까? 배포의 유연성WAR : 서버에 종속적이다. 대규모 및 복잡한 app에 유리하다.JAR : 어디서나 실행 가능한 구조라 빠른 테스트, 배포에 ..

Tomcat 설치 1. tomcat 이미지 다운https://hub.docker.com/_/tomcat tomcat - Official Image | Docker HubDocker Official Images are a curated set of Docker open source and drop-in solution repositories. Why Official Images? These images have clear documentation, promote best practices, and are designed for the most common use cases.hub.docker.com docker pull tomcat:[version] 2. tomcat 컨테이너 생성// 방법 1docker..
Github Actions는 CI(지속 통합), CD(지속 배포)를 위한 서비스이다.깃허브 액션은 크게 Events, workflows, jobs, actions, runners 5가지 개념으로 알 수 있다. 특정 이벤트가 발생했을 때 내가 원하는 일을 자동으로 수행할 수 있도록 만들어준다.Events깃허브에서 발생하는 대부분의 행위를 이벤트로 지정할 수 있다.ex)나의 PR을 메인 브런치로 머지할 때 어떤 테스트를 수행해야 한다면 그 이벤트를 지정해줄 수도 있고, 커밋 후 푸시를 할 때 이벤트를 지정할 수도 있다.Workflows특정 이벤트가 발생했을 때 내가 어떤 일을 수행할 지 명시하는 것.github/workflows 폴더 아래에 있는 YAML 파일로 설정하며, 하나의 레파지토리엔 여러 개의 워크..