Dev/Infra | Cloud 11

Docker | 비슷해보이지만 다른 기본적인 명령어들

본 글은 Docker에 대한 기본 개념과 심화 학습을 하면서 배운 내용들을 정리하기 위한 글입니다. 피드백은 언제든지 열려있으니 편하게 남겨주시면 감사하겠습니다. 🤩 Docker create / start / run / stop 명령어들의 컨테이너 생명주기 Docker에서 컨테이너와 관련된 create / run / start 명령어의 차이가 뭐예요? $ docker create는 새로운 컨테이너를 이미지로부터 생성하는 명령어입니다. $ docker start는 기존에 중지되어있던 컨테이너를 실행 시키는 명령어입니다. $ docker run은 새로운 컨테이너를 이미지로부터 생성하고, 실행시키시면서 컨테이너 내부로 들어가는 명령어입니다. Docker에서 컨테이너 중지와 연관된 stop / kill 명령어의..

Dev/Infra | Cloud 2022.11.06

Github Actions | contextLoads() FAILED 해결하기

본 글은 사이드 프로젝트 진행 시, 트러블 슈팅한 경험을 기록하기 위함입니다. 피드백은 언제든지 환영입니다. 🤩 상황 로컬에서 동일한 에러가 발생을 했었고 그때 당시에는 yml파일(MySQL의 연결 정보를 담은)을 설정으로 등록해주는 Config 클래스에서 classpath가 잘못되어 수정을 해줬더니 해결을 할 수 있었다. 그리고 나서 main branch에 PR을 하였고 CI.yml이 작동하였는데 ./gradlew test 단계에서 똑같은 에러인 context load() FALED 에러가 발생하였다. 원인 Github Action 환경에서 MySQL Server가 안 띄워져 있기 때문에 해당 DB를 찾지 못해서 생기는 에러라고 생각했었다. 1차 해결시도 - 실패 MySQL Server를 띄워주기 위해..

Dev/Infra | Cloud 2022.11.02

Docker | Image에 대해 알아보기

본 글은 Docker에 대한 기본 개념과 심화 학습을 하면서 배운 내용들을 정리하기 위한 글입니다. 피드백은 언제든지 열려있으니 편하게 남겨주시면 감사하겠습니다. 🤩 모든 이미지의 저작권은 따라 하며 배우는 도커와 CI환경 강의에 있습니다. Docker Image에 대한 기본 개념은 알겠는데, 내부 구조가 궁금해요 Image는 응용 프로그램을 실행하는데 필요한 명령어와 파일 스냅숏으로 구성되어 있습니다. Image로 Container가 실행되는 순서도 궁금해요(임시 컨테이너 내용 추가하기) docker run {image} 명령어를 실행하게 되면 Image에 있는 파일 스냅숏의 내용이 Contatiner의 하드디스크에 옮겨집니다. Image 내부에 있는 명령어(컨테이너가 실행될 때 사용될 명령어)를 이용..

Dev/Infra | Cloud 2022.10.30

Docker | 기본 개념 정리

본 글은 Docker에 대한 기본 개념과 심화 학습을 하면서 배운 내용들을 정리하기 위한 글입니다. 피드백은 언제든지 열려있으니 편하게 남겨주시면 감사하겠습니다. 🤩 Docker가 뭐예요? Container를 사용하여 응용프로그램을 더 쉽게 만들고 배포하고 실행할 수 있도록 설계된 도구이며 컨테이너 기반의 오픈소스 가상화 플랫폼이며 생태계입니다. 그럼, Docker를 왜 쓰는 거예요? 어떠한 프로그램을 다운로드하는 과정을 아주 쉽고 간단하게 만들기 위해서 쓰는 겁니다. 오~ 근데 Image는 뭐고 Container는 뭐예요? Image는 DockerFile로 build 할 수 있으며 코드, 런타임, 시스템 도구, 시스템 라이브러리 및 설정과 같은 응용프로그램을 실행하는데 필요한 모든 것을 포함하는 소프트..

Dev/Infra | Cloud 2022.10.30

Jenkins | CI/CD Pipeline 구축 - 07. SSH + Docker(in VM) 환경세팅

본 글은 Docker를 기반으로 Jenkins의 기본적인 사용방법을 공부하고 추후 작업 시 중복되는 작업비용을 줄이기 위한 참고 및 정리 글이라서, 몇몇 배경 내용이 빠져있을 수 있는 점 참고 부탁드립니다. 🙋‍♂️ (피드백은 언제든지 환영합니다. 🤩) 스크립트 설정 jenkins에서 아래와 같은 스크립트가 실행될 수 있게 설정하여야 한다. war파일을 SSH를 이용해서 서버 2에 복사 서버 2에서 Dockerfile과 war파일을 합쳐서 Docker Image를 빌드 Docker Image로 컨테이너 생성 그전에 타 서버(VM)에 복사해주기 위해 jenkins에 SSH플러그인을 설치해준다. ~ > docker run --privileged --name docker-server -itd -p 10022:..

Dev/Infra | Cloud 2022.09.28

Jenkins | CI/CD Pipeline 구축 - 06. PollSCM(지속적인 파일 업데이트)

본 글은 Docker를 기반으로 Jenkins의 기본적인 사용방법을 공부하고 추후 작업 시 중복되는 작업비용을 줄이기 위한 참고 및 정리 글이라서, 몇몇 배경 내용이 빠져있을 수 있는 점 참고 부탁드립니다. 🙋‍♂️ (피드백은 언제든지 환영합니다. 🤩) Poll SCM 설정 (Poll SCM : commit이 된(업데이트된) 내용이 있을 때마다 빌드하는 것) 빌드 유발 항목에서 Poll SCM을 택하고 * * * * *(매초) 빌드한다는 설정을 해준다. 현재는 코드를 수정(커밋) 하기 전 상태이다. Build step 'Deploy war/ear to a container' marked build as failure Finished: FAILURE 소스코드를 수정하고 커밋해봤는데 위와 같은 에러 메시지와..

Dev/Infra | Cloud 2022.09.28

Jenkins | CI/CD Pipeline 구축 - 05. Tomcat Plugin 세팅

본 글은 Docker를 기반으로 Jenkins의 기본적인 사용방법을 공부하고 추후 작업 시 중복되는 작업비용을 줄이기 위한 참고 및 정리 글이라서, 몇몇 배경 내용이 빠져있을 수 있는 점 참고 부탁드립니다. 🙋‍♂️ (피드백은 언제든지 환영합니다. 🤩) Tomcat Plugin 세팅 및 Item 생성 플러그인 관리 → 설치 가능 항목에서 Deploy to container를 검색하여 설치해준다. 설치가 완료되었다면, Maven Project 템플릿으로 신규 프로젝트(아이템)를 생성해준다. 세 번째 프로젝트는 두 번째 프로젝트의 연장선이므로 세팅을 Copy 할 수 있다. 톰캣 웹서버에 복사를 해당 workspace 내에서 확장자가 war파일로 되어 있는 걸로 하겠다. 를 명시하기 위해 위와 같이 세팅한다...

Dev/Infra | Cloud 2022.09.27

Jenkins | CI/CD Pipeline 구축 - 04. Git에서 코드 가져와서 빌드하기

본 글은 Docker를 기반으로 Jenkins의 기본적인 사용방법을 공부하고 추후 작업 시 중복되는 작업비용을 줄이기 위한 참고 및 정리 글이라서, 몇몇 배경 내용이 빠져있을 수 있는 점 참고 부탁드립니다. 🙋‍♂️ (피드백은 언제든지 환영합니다. 🤩) 신규 Item 생성 Maven project 템플릿으로 프로젝트를 만든다. 소스 코드 관리 탭에서 git을 선택해주고, maven 소스 코드가 들어가 있는 github repository 주소를 입력해준다. Pres Steps 탭에서 Goals and options 항목에 clean(빌드된 내용을 지우고) compile(새롭게 컴파일을 하고) package(패키징한다.)을 입력해준다. 위까지 완료되었다면 Apply → Save를 진행 저장 후 지금 빌드를..

Dev/Infra | Cloud 2022.09.27

Jenkins | CI/CD Pipeline 구축 - 03. Git, Maven Plugin 셋팅

본 글은 Docker를 기반으로 Jenkins의 기본적인 사용방법을 공부하고 추후 작업 시 중복되는 작업비용을 줄이기 위한 참고 및 정리 글이라서, 몇몇 배경 내용이 빠져있을 수 있는 점 참고 부탁드립니다. 🙋‍♂️ (피드백은 언제든지 환영합니다. 🤩) Git Plugin 세팅 github 플러그인이 설치되어 있는지 확인해본다. ~ > docker exec -it jenkins-server bash 19:01:18 jenkins@3bec5363e25f:/$ git --version git version 2.30.2 git --version 으로 jenkins 컨테이너 환경에 설치되어 있는지 확인이 가능하다. 위와 같이 세팅 후 Apply → Save 하면 사용하려는 jenkins에 git pulgin 확..

Dev/Infra | Cloud 2022.09.27

Jenkins | CI/CD Pipeline 구축 - 02. Item(Project) 생성

본 글은 Docker를 기반으로 Jenkins의 기본적인 사용방법을 공부하고 추후 작업 시 중복되는 작업비용을 줄이기 위한 참고 및 정리 글이라서, 몇몇 배경 내용이 빠져있을 수 있는 점 참고 부탁드립니다. 🙋‍♂️ (피드백은 언제든지 환영합니다. 🤩) Item(Project) 생성 좌측 탭에 새로운 Item 탭을 눌러 프로젝트를 생성한다. 여러가지 템플릿 중 현 단계에서는 Freestyle project로 생성할 것이다. 이 아이템을 실행 가게 되면 특정 스크립트가 실행되게 하는 Excute shell을 선택한다. 간단한 실행 스크립트를 적어주고, 저장한다. 지금 빌드를 클릭하면 빌드 결과를 하단에서 성공, 실패, 진행 중으로 알려준다. 결과의 Console Output을 통해, 결과 내용을 알 수 있..

Dev/Infra | Cloud 2022.09.27