
클라우드 네이티브 어플리케이션 구성 요소 중 하나인 CICD 자동화 파이프라인을 통해, 시스템 통합과 배포 작업을 어떻게 구축하는지 이해해보자 WaterFall, Agile WaterFall 프로젝트 각 단계가 뚜렷하게 나눠져 있다 순차적인 프로젝트 관리 방법론 각

궁극적인 목표는 도커를 사용하는 환경에 젠킨스 배포개발 팀에서 코드 개발하고, VCM/SCM에서 코드 저장한 뒤, 개발 환경에서 빌드 후 단위 테스트까지 이루어짐. 이 통합테스트가 끝나야 고객이 테스트하는 UAT로 넘어갈 수 있다. 그 이후 프로덕션으로 넘어간다CI/C
item 젠킨스에서 빌드,컴파일,배포 이런 최소 단위를 아이템이라고 한다 Jenkins를 도커로 실행 중인데, 일반적으로 도커 컨테이너의 os는 Linux이다. 때문에 shell이 리눅스 셸 스크립트이고, 이를 확인 해보는 빌드 스텝 추가해보자 
maven 
웹 어플리케이션 경우, 실행하고자 하는 어플리케이션 자체가 임베디드 톰캣 자체를 내장하고 있는 형태 -> jar file 실행하면, 내장 톰캣 서버에 의해 웹서버 실행어플리케이션 파일 자체를 기존에 존재하고 있던 다른 웹 어플리케이션 서버(톰캣같은)에 패키지 파일 복사

플러그인 설치 메이븐 빌드를 할 것이기에, pom.xml, 하고 clean compile package할 것 war파일 컨테이너에 배포 이전 console output보면 war파일

commit에 대한 업데이트가 있을 때만 빌드 -> Poll SCM기존 Tomcat item에서 트리거 설정이후, 소스 코드 수정 후, git commit and push젠킨스에서 다시 빌드가 일어난거 확인 가능잘 변경 됐다

Jenkins에서 SSH로 접속하고 거기 안에 있는 이미지로 도커를 실행war 파일 결과 파일 SSH를 이용해서 복사(server2)server2d에서, Dockerfile + \*.war로 Docker 이미지 빌드빌드된 Docker image파일 -> Containe

\*.war 만 서버에 복사 된다. -> 루트디렉토리에 war파일 복사빌드 전 후로 war파일 생긴거 보임도커 파일 내용 -> 얘를 빌드하면 이미지 만든다, 도커 내부 war파일을, 도커 이미지 내부에 복사한다ssh 서버 컨테이너에서, 이미지들이 만들어 졌다. 이제 t

이전 벨로그에 이어서ssh 서버에서 도커 이미지 빌드하고, 실행까지 하는 것 자동화 해보자도커 컨테이너, 이미지, war파일 모두 지우고 시작빌드이미지 생기고, 컨테이너 실행 중이고, war파일 생김서버도 잘 작동 됨이미 실행했던 도커 컨테이너(이미지, 이름도, 포트도

즉, 코드에 의해서 우리가 원하는 환경을 구축하는 것클라우드 상관없이, 다중 클라우드, 다중 환경 관리 가능 도구자체적으로 사용하는 DSL(Domain Specific Language) 언어 사용함인프라의 구성을 원하는 형태로 유지하기 위해 사용하는 오케스트레이션 도구

Ansible 서버 깔려 있는 이미지 준비해서 다운로드 > _** Ansible 컨테이너 실행 docker run --privileged -itd --name ansible-server -p 20022:22 -p 8081:8080 -e container=docker

기존 엔서블 모듈로, 연결된 서버에 작업을 했다면, 미리 사용자가 원하는 행동을 작성해놓은 파일을 Ansible Playbook 이라고 한다name : 플레이북 이름 정의hosts : 적용시키고자 하는 그룹 이름task : hosts에 적어둔 타겟에 어떤 내용을 적용할

젠킨스 서버에서, 엔서블 서버로 접속하는 방법test success 뜨면 완료

플레이북에서 만든 이미지, Docker Hub에 실제로 올려보자젠킨스에서 playbook 이용해서, 엔서블서버에서 이미지 만들고, Docker hub에 올리고, 엔서블 서버에 있는 이미지는 다시 삭제하는 과정 해보자플레이북 예제 예제 파일을, 컨테이너 생성하는 플레이북

컨테이너 가상화 방식에서, 어플리케이션 방법, 서버가상화, 전통적인 방법에 의해 배포하는 방식에 대한 차이점전통적 방식하나의 물리적인 서버가 가지고 있는 리소스를 여러 가지 애플리케이션이 공유해서 사용하는 개념, 특정 어플리케이션에서 리소스를 많이 점유하고 사용하게 되

쿠버네티스 싱글노드(마스터이자, 워커)를 운영해보자. 이를 간단히 미니큐브라한다kubectl get nodeskubectl run sample-nginx --image=nginx --port=80컨테이너 엔진 작동 중이어야하고, 쿠버네티스 관리 단위가 pod다pod에

연동 및 실습 도커 컨테이너로 운영중인 엔서블 서버로 쿠버네티스에 접속하여, 엔서블이 사용할 수 있는 플레이북 파일 테스트 해볼 것 hosts 파일에 쿠버네티스 그룹 만들고, 호스트PC(쿠버네티스사용하는 어드레스) 추가해서 사용할 것. 그리고 이 엔서블서버에서 플

1\. Jenkins에서 Kubernetes를 잘 실행할 수 있는지 확인2\. 젠킨스에서 엔서블 통해 쿠버네티스 잘 실행할 수 있는지 확인호스트 pc인 쿠버네티스 kube ssh 추가user, password는 호스트pc의 계정을 써야한다My-Ansible-Projec

준비물 : Dockerfile, Playbook in Ansible1\. Jenkins로, war파일 git에서 받아와 mvn 빌드하여 war파일 만들고, 그 파일을 ansible server에 copy한다2\. war파일을 가지고 있는 엔서블 서버에서 이미지를 만들기

여태까지 한 것세 번째 프로젝트에서 Git에 있는 프로젝트를 가져와, Maven 빌드가 끝난 다음, 패키징 결과값을 Tomcat 웹서버에 배포까지 해 보았다각 아이템에서, 빌드 끝나고 안정적으로 종료되면, 다음 아이템 빌드하도록 Trigger 가능하다First, Sec

외부 git에 있는 코드를 가져오고, 해당하는 레파지토리 안에 포함된 shell script 파일 실행해보자Docker가 리눅스 기반으로 실행되기에, sh 파일 실행하면 된다Jenkins가 제공하는 문법 제공기 사용\-> 얘로 코드를 가져오는 파이프라인 스크립트 자동

대시 보드의 젠킨스 툴 관리에서메이븐 설정, 이 'name' 은 pipeline 스크립트에 적용되니 잘 확인

정적분석 도구지속적인 통합, 분석을 할때 사용되는 솔루션코드의 퀄리티를 높이기 위해, 이슈, 복잡성, 코드 복잡성을 분석해서 코드가 사용할 수 있는 가용범위, 문제 있는 코드를 식별해줌버그, 취약성을 탐지함Code smell이라고, 불필요한 코드, 코드의 이상 여부를
