인프라 6

Jenkins를 통한 React.js 자동 배포 [Nginx]

저번에 리액트 프로그램을 진행하게 되면서 CICD 구축의 중요성을 새삼 깨닫게 되었다. 운영할때마다 로컬에서 배포폴더 만들고, 서버에 직접 올리는 작업은 너무 시간도 많이 들었고, 무엇보다도 생산적이지 않았다. 그리하여 이번 리액트 프로그램을 진행할때엔 dev 브랜치에 푸쉬하면 바로 서버에 자동 빌드되는 환경 속에서 개발되길 원했다. 그리하여 본인은 젠킨스를 통해 자동 빌드를 하게 되었다. 먼저 GitHub에 Webhook을 설정해준다. Webhook(웹훅)이란, 서버에서 어떠한 작업이 수행 되었을 때 해당 작업이 수행되었음을 HTTP POST로 알리는 개념을 말한다. (https://docs.iamport.kr/tech/webhook) ## 소스 코드 관리 1. 해당 깃 레포지토리와 자격 입력 2. 설..

인프라 2021.07.18

Nginx 다중 포트 연결

Nginx를 활용하서 리액트 배포하기로 했다. 현재 Nginx로 다른 한 서비스가 운영되고 있는 상태이고, 거기다 추가적으로 하나를 더 올릴려고 한다. 먼저 나는 AWS-EC2[Linux] 환경에서 미리 기본적으로 깔려진 Nginx을 사용하였다. Nginx의 위치는 /etc/nginx 로 되어있다. nginx에 여러 포트를 설정해주기 위해 주 설정파일은 nginx.conf파일이다. 이 곳에다가 서버 포트설정을 올려주면 된다. 나는 직접적으로 코드를 넣어주는 방식보다, 하나의 디렉토리를 생성하여 import 시켜주는 방식으로 하였다. 1. /etc/nginx 이동 2. mkdir sites-enabled 3. vi testServer.conf server { # 1차 라우팅 listen 1234; # 포트..

인프라 2021.01.17

Jenkins를 이용한 서버 배포

MSA구조를 도입하게 되면서, 여러 서버들을 간편하고 쉽게 배포하기 위해 이번엔 AWS의 code pipeline 대신 jenkins의 빌드를 사용해 배포했다. 배포하고 싶은 api 서버는 - gradle - spring boot 로 구성되어있다. 즉 boot 프로젝트의 jar 파일을 ec2 리눅스 서버에다가 풀어 실행하려 한다. 1. Jenkins 관리 2. 플러그인 관리 - Github - Github Branch Source - Gradle Plugin - GitHub Integration Plugin 를 설치해주었다. 이제 서버를 배포하기 위한 새로운 아이템을 만들어 보도록 하겠다. 왼쪽 하단에 위치한 새로운 item으로 들어간다. 지정해주고 싶은 서버의 이름을 입력하고, FreeStyle pro..

인프라 2021.01.17

PSCP 이용하여 AWS/EC2 파일 전송 및 폴더 전송하기

로컬에서 EC2로 파일이나 폴더를 전송할때 Filezila등을 사용하거나 PUTTY를 이용하여 전송해도된다. putty를 설치하면 pscp.exe도 함께 설치가 되는데 이는 윈도우에서 ec2로 전송을 지원해준다. 파일 전송 pscp -i [.ppk 인증키] [이동할 파일 위치] [사용자명]@[퍼블릭 IPv4 DNS]:[파일 이동할 경로] 폴더 전송 pscp -r -i [.ppk 인증키] [이동할 파일 위치] [사용자명]@[퍼블릭 IPv4 DNS]:[파일 이동할 경로] -r : 디렉토리 복사할때 사용 -i : ppk 파일을 지정해서 사용할때 -p : 포트를 이용할때 이렇게 될경우 100%가 뜨면 ec2에 전송된 경우를 볼수있다. 하지만 ec2의 폴더 권한이 root로 되어있거나 수정, 삽입 권한이 없을때는..

인프라 2020.10.12

Elastic Beanstalk, EC2

EC2의 뜻은 Elastic Compute Cloud이다 C가 2개라서 EC2이다. EC2는 가상서버환경으로 우리가 원하는 환경에 맞게 설치하여 사용할 수 있다. EBS는 ElasticBeansTalk로 EC2보다 편리하게 제공되는 기능이 많다 로드 밸런싱(ELB), 오토 스케일링, health check 등 제공 해주고 내가 무슨 환경인지에 따라 미리 구축되서 나온다. EC2로 환경을 구성할 경우엔 우리가 따로 설치해야하는 점이 있다. aws.amazon.com/ko/elasticloadbalancing/ Elastic Beanstalk를 이용한 무중단 배포 구축 1 우리는 Elastic Beanstalk를 이용하여 로드밸런싱을 사용하기 위해 하나의 ElasticBeanstalk 안에 ec2 두개를 포..

인프라 2020.09.26
728x90
반응형