- Today
- Total
목록Open Source (16)
개발하는 고라니
Index Chapter 1 Chapter 2 젠킨스 서버에 도커 및 젠킨스 설치, 배포 서버에 도커 설치 젠킨스 설치 후 이것저것 설정 젠킨스 Job 생성 Chapter 3 배포 서버에 도커파일 생성 배포 서버에 init.sh 작성 깃헙에 push 해보기 자동 배포 됬는지 확인 준비물 Github 리퍼지토리 Spring Boot 프로젝트 (gradle) GCP 같은 클라우드 컴퓨팅 인스턴스 2개 A : 젠킨스가 있는 서버 B : 배포할 서버 시나리오 코드를 작성한다. 깃헙에 Push한다. Webhook이 걸려 젠킨스에게 Job을 실행하라고 한다. 젠킨스가 Build해준 결과를 배포 서버에 넘긴다. 배포 서버에서 컨테이너를 실행해 자동 배포한다. ▷ Chapter 1 - 스프링 부트 프로젝트 생성과 깃헙..
도커를 이용해 image를 pull받고 그것을 run 하게 되면, container가 생성되고 실행되게 된다. 반대로, 이 container를 image로 만드는 방법 또한 존재한다. commit과 build가 있는데 build에 대해 중점적으로 알아보자. Docker 이미지 만드는 법 도커 이미지를 만드는 방법에는 2가지가 존재한다. 1) commit 2) build (1) commit 의 방법은 간단히 컨테이너를 사진을 찍어 image로 만드는 것이고, 여기선 다루지 않겠다. (2) build의 방법은 "Dockerfile"이라는 파일을 만들어 이미지를 만드는 방법이다. 이를 이용하면 컨테이너가 어떻게 만들어지는지 분명하게 알 수 있다는 장점이 있다. 우리가 만들고 싶은 이미지에 대해 도커파일의 형식..
※ Environment Platform: GCP(Google Cloud Platform) OS: Debian GNU/Linux, 10 (buster) Docker: 20.10.8 JDK: open-jdk 11 저번에 젠킨스를 설치했었는데, 로컬환경(Windows)에 도커 없이 war를 배포하는 것으로 설치했었다. 이번엔 좀더 나아가 GCP(Linux)에 Docker를 이용해 Jenkins 이미지를 받아 구동하고, 깃헙을 연동하는 작업을 한다. 그리고 최종 목표인 Intellj에서 코드작업 후 repository로 push 하면 자동으로 젠킨스가 빌드해주게끔 한다. Linux에 도커를 설치하는 과정은 따로 다루지 않겠다. Docker로 Jenkins Install Jenkins - Official Ima..
[Docker] 기초 사용법과 개념 개발을 하다보면, Docker라는 단어를 많이 접해보았을 것이다. 그것을 사용해보지 않았더라도 대충 뭐 해주는 얘다 정도로 알고있을 수 있다. 하지만 이제 도커는 웹 개발할 때 뿐만 아니라 일상 dev-gorany.tistory.com 이전 글에 이어서 진행되는 내용입니다. 저번에 했던 내용은, 1) 도커 설치 2) 도커에 Apache web server(httpd) 이미지 pull 3) httpd 컨테이너 만들어서 run 이다. 즉, 컨테이너 안에서 웹 서버가 돌고 있는 것이다. 이 컨테이너 안에 설치된 웹 서버는 어떻게 사용해야할까? 그전에 컴퓨터에 설치된 웹 서버의 동작을 먼저 보자. 좌측이 클라이언트, 우측이 웹 서버이다. 위 그림을 토대로 웹 서버 동작을 본다..
개발을 하다보면, Docker라는 단어를 많이 접해보았을 것이다. 그것을 사용해보지 않았더라도 대충 뭐 해주는 얘다 정도로 알고있을 수 있다. 하지만 이제 도커는 웹 개발할 때 뿐만 아니라 일상에서도 종종 쓰이는 정도로 사용 폭이 넓어졌다. 그래서 미루고 미뤄온 도커에 대해 먼저 간단하게 알아보고자 한다. 마침 생활코딩에서 도커 수업을 만들어주셔서 그 내용을 토대로 작성해보고자 한다. 도커는 이 귀여운 고래 + 선박을 합쳐놓은 그림을 쓴다. 뭔가 갖다주는 애구나 하는 인식이 든다. 이제 도커에 대해 처음부터 알아보자. Docker의 배경 (1) 보통 개발할 때 하나의 웹 어플리케이션을 만들기 위해 웹서버나, 데이터베이스 및 미들웨어 등을 자신의 컴퓨터 운영체제 위에 설치해놓고 쓴다. 하지만 이 과정은 귀..
이번 포스팅에서는 젠킨스의 Pipeline 기능의 모든 권장 사항을 다룬다. 개요 Pipeline 시작 - Blue Ocean이나 classic UI 또는 SCM을 통해 젠킨스 파이프라인 정의하는 방법 Jenkinsfile을 만들고 사용하기 브랜치 작업과 PR Docker와 Pipeline - Jenkins가 어떻게 Docker Container를 부를 수 있는지 공유된 라이브러리로 Pipeline 연장하기 Pipeline 생성을 용이하게 하는 다른 개발툴을 사용하기 Pipeline Syntax로 작업하기 Jenkins Pipeline 젠킨스 파이프라인이란 젠킨스를 사용하여 CD 파이프라인울 구현하고 통합하는 것을 지원하는 플러그인의 집합이고, 파이프라인은 파이프라인 DSL 굼누을 통해 코드로 간단하거나..
젠킨스에서 빌드가 실패하면 알림을 줘야하는데, 이메일로 주는 방법이 있으니 알아보자. Config Jenkins 관리 - 시스템 설정에서 간단히 설정해주면 된다. 아래로 쭉 내려보면 "이메일로 알려줌"이라는 항목이 있다. 상기 항목을 체크하고 gmail ID와 password를 적는다. 이제 다른 이메일 계정으로 테스트 메일을 보내보면... 이와 같이 테스트 메일이 오게 된다. 빌드 실패했을 때 메일 받아보기 성공 ^_^ 주의사항 이때 ID와 PASSWORD가 다 맞음에도 안되는 경우가 있는데, 이는 Google에서 낮은 보안 수준의 앱 액세스 허용을 해야한다.
현재 혼자 프로젝트를 하는 거라 지속적 통합(CI)은 굳이 필요하지 않지만, 지속적 배포(CD)는 절실히 필요성을 느껴 CI/CD를 공부하는 중이며, tool은 Jenkins를 써보려 한다. 우선 Jenkins와 친해지기 위해 간단한 Spring Boot 프로젝트를 Jenkins로 빌드하는 과정을 경험해보자. 목차 Spring Boot project 생성 Github Repository 생성 후, boot Project 연동 Jenkins Job 생성 Jenkins Job 빌드 스프링 부트 생성 방법은 많지만 대표적으로 1) start.spring.io 에서 jar파일을 받아 생성하는 것과 2) IDE에서 생성하는 방법 이 있는데 나는 IntellJ에서 생성할 것이다. - Java 11 - Gradle ..