본문 바로가기

Infra14

[Docker] Centos에서 MySQL을 도커 컨테이너로 실행하기 이번 글에서는 Centos7에서 MySQL을 도커 컨테이너로 띄운 후에 접속하는 방법에 대해 알아보도록 하자. 해당 글에서 진행되는 과정들은 모두 GCP(Google Cloud Platform)에서 진행할 예정이다. 기본적으로 Docker Hub에 이미 MySQL의 이미지가 등록 되어있기 때문에 해당 이미지를 pull해서 컨테이너로 실행해주면된다. 데이터베이스를 컨테이너로 띄워서 활용하는 방식은 CDB(Container DataBase)이라고 하고 그렇지 않은 것은 non-CDB라고 한다. 0. 도커허브에서 MySQL 이미지 검색 # docker image 검색 docker search mysql 1. MySQL 이미지 Pull 하기 도커이미지 pull 할 때는 mysql:{version}으로 버전을 명.. 2021. 3. 13.
[Jenkins] Jenkins로 Nginx 및 Spring Boot 컨테이너를 원격서버에 띄워서 Reverse Proxy 구성하기 이번글에서는 젠킨스를 이용하여 nginx 컨테이너 및 Srpingboot 컨테이너를 원격서버에서 실행시킨 후에 nginx 컨테이너로 요청이 들어오면, 이 요청을 SpringBoot 컨테이너로 전달하는 과정을 진행하려고한다. 이러한 과정을 Reverse Proxy 라고 하는데, 클라이언트가 서버로 요청을 하면 WAS로 직접 접근하지 않고 Web서버인 nginx로 먼저 접근한다. 그러면 nginx는 이를 WAS에게 전달해주는 것이다. 왜 이러한 구조로 서버를 구성하는 것일까? 이유가 궁금하다면 아래의 블로그를 참고하도록하자. Nginx Reverse Proxy 사용하기 호주로 해외여행을 간다고 생각해보자. 중국을 경유하여 가는 비행기 티켓을 구매했다. Proxy랑 엮어보면 인천공항은 출발지, 중국은 Prox.. 2021. 2. 7.
[Jenkins] Jenkins를 이용하여 원격 서버에 SpringBoot 컨테이너 띄우기 이번글에서는 GCP(Google Cloud Platform) VM 인스턴스 위에서 실행 중인 젠킨스에서 원격 서버인 AWS EC2 인스턴스로 SpringBoot 프로젝트를 빌드한 jar 및 Dockerfile 을 전송하여 도커이미지로 변환 후 컨테이너로 띄우는 실습을 해볼것이다. 기존에 Jenkins- Github연동이 되어있다는 가정하에 진행되는 과정이니, 만약 연동이 되지 않았다면 아래의 글을 먼저 진행하고 오도록 하자. [Jenkins] Jenkins & Github 연동 및 자동배포 구성하기 1 이 글을 시작으로 jenkins와 github의 특정 프로젝트를 연동 시켜두고 해당 프로젝트에서 push 발생 시, jenkins가 이것을 인식하고 자동으로 배포하는 과정에 대해서 진행하려고한다. 배포될 .. 2021. 1. 24.
[Docker] AWS EC2(Red Hat Linux)에서 Jenkins 컨테이너 실행하기 이번 글에서는 Docker로 Jenkins 이미지를 다운로드받아서 Container로 띄우는 과정을 알아보도록하자. 1. Jenkins Image 받기 젠킨스 Image 다운로드를 받는데, lts는 Long Term Support의 약자로 오랜기간 지원해주는 버전을 받는다고 알아두자. # 젠킨스 이미지 받기 sudo docker pull jenkins/jenkins:lts * 만약 root user 권한이 아닌 현재 유저의 권한으로 docker 명령어를 사용하려면, 해당 user가 docker를 이용할 수 있도록 설정하도록하자. root가 아닌 user로 docker 명령어를 실행하게 될 경우 아래와 같은 에러문구가 나올것이다. 현재 유저를 확인하고 도커 그룹에 추가하도록하자. 그런 후에 변경사항을 적용.. 2021. 1. 17.
[Docker] AWS EC2(Red Hat Linux)에 Docker설치 이번글에서는 AWS EC2(RHEL환경)에 Docker를 설치하는 과정에대해 알아보도록하자. Centos 환경도 동일한 과정으로 설치가 가능하니 이점을 참고하도록하자. 1. yum 업데이트 sudo yum -y update * 도커설치 시, 아래와 같은 에러가 발생할 수 있다. https://download.docker.com/linux/centos/2/x86_64/stable/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found Trying other mirror. 혹시나, 위와 같은 에러가 발생하는 경우 아래의 글의 코멘트를 참고하도록 하자. Docker CE Stable - x86_64 Repo not available : HTTPS Error .. 2021. 1. 16.
[Jenkins] Jenkins & Github 연동 및 자동배포 구성하기 3 이번 글에서는 jenkins에서 스프링부트 프로젝트를 github에서 가져와 빌드한 후 특정 서버로 .jar파일 형태로 전송하여 해당 .jar파일을 실행시키는 과정에 대해 알아보도록하자. (이 글에서 실습한 내용은 GCP 인스턴스 위의 젠킨스에서 -> AWS EC2 인스턴스로 파일 배포) 1. jenkins ssh 플러그인 설치 젠킨스에서 스프링부트 서버를 .jar파일로 생성하고 특정 서버로 전송하기 위해서는 ssh를 이용해야하는데, 젠킨스에서는 이를 플러그인으로 제공해준다. 아래와 같이 Publish Over SSH 플러그인을 설치하도록하자. 2. Publish over SSH 세팅 플러그인 설치가 완료되었다면 젠킨스의 시스템 설정으로 가서 아래와 같이 설정값 들을 입력하도록하자. 그런 후에 Test .. 2020. 12. 31.
[Jenkins] Jenkins & Github 연동 및 자동배포 구성하기 2 이번글에서는 github의 특정 repository에 push가 발생했을때, jenkins가 상황을 인지하고 배포하는 과정에 대해 알아보도록하자. 1. Github Webhook 세팅 Webhook 이란? 웹훅이란? 위 사진은 웹훅을 정말 잘 설명해주고 있다. simsimjae.medium.com 우선, Webhook 설정을 위해 jenkins 메인 대시보드에서 아래의 경로로 이동하도록하자 (Jenkins 관리 > 시스템 설정) Jenkins URL로 Github에서 요청이들어올 것이다. 이 부분을 확인하도록하자. 확인 후에 Webhook을 설정할 깃허브 레포지토리에서 아래와 같은 경로로 이동하도록하자. (Settings > Webhooks > Add webhook) 해당 페이지로 이동하면 Payload.. 2020. 12. 30.
[Jenkins] Jenkins & Github 연동 및 자동배포 구성하기 1 이 글을 시작으로 jenkins와 github의 특정 프로젝트를 연동 시켜두고 해당 프로젝트에서 push 발생 시, jenkins가 이것을 인식하고 자동으로 배포하는 과정에 대해서 진행하려고한다. 배포될 프로젝트는 spring boot 프로젝트로 진행할 것이고 빌드 툴은 gradle을 사용할 예정이다. (필자는 젠킨스를 도커 컨테이너로 실행시켰으니 이점을 참고하길 바람 - 도커환경이 아니어도 상관없음) 일단 이번 글에서는 젠킨스로 깃허브 레포지토리의 소스코드를 pull하여 빌드 후에 실행시키는 과정에 대해 알아보도록하자. 0. 환경구성 이 글에서는 AWS 인스턴스 환경에서 진행될 예정이고 jenkins도 해당 인스턴스 위에서 실행될 예정이다. 또한 프로젝트 코드도 해당 인스턴스 위에 배포될 예정이다. A.. 2020. 12. 29.
[Jenkins] Linux(Centos & RHEL)에 Jenkins 설치하기 이번글에서는 Linux에 젠킨스를 설치하고 접속하는 과정을 알아보려고한다. (Linux 버전은 RHEL) 실습에 앞서 Jenkins가 무엇인지 간단하게 설명하자면, CI(Continuous Integration) 툴이다. CI는 다수의 개발자가 하나의 프로젝트 개발을 진행하면서, 서로 다른 코드를 구현하고 그것을 하나로 합치는 행위를 지속적으로 하는것이다. 0. jdk(java development kit) 설치 젠킨스는 java로 개발된 프로그램이기 때문에 젠킨스 설치전에 jdk 설치를 진행하도록하자. [CentOS] JDK 1.8 설치 출처 : CentOS JDK 설치 - 제타위키 설치 가능한 JDK 버전 확인 # yum list java*jdk-devel ...... Available Package.. 2020. 12. 22.