본문 바로가기

728x90
반응형

문제 해결, 기술 비교/개인프로젝트(북클럽)

(25)
application.yml 분리하기 application.yml 설정이 테스트환경과 운영환경 등으로 나눠질 수 있습니다. 이 설정은 여러개의 파일로 나눠도 되고, 하나의 파일에도 가능합니다 먼저 여러개의 파일로 분리하는 방법입니다. # application.yml spring: profiles: dev # application-dev.yml spring: profiles: dev ... #application-prod.yml spring: profiles: prod ... application.yml에서 사용하고자 하는 profiles에 명칭을 써주면 됩니다. 만약에 intellij에서 강제로 항상 특정 profiles 실행을 하고 싶다면, Edit Configurations에서 새로운 환경을 추가합니다 다음과 같이 기본 App설정에서 A..
jenkins build시, slack 알람 연동하기 새로운 채널을 만든 다음에 다음과 같이 Slack 찾아보기에서 앱에 들어갑니다. 새로운 채널로 test-notification을 만듭니다. Jenkins CI 에서 추가를 누르면 브라우저로 연동이 됩니다. 내가 만든 test-notification에 Jenkins CI를 연동합니다 그 다음에 어떻게 연동해야하는지 친절하게 설명이 나와있으므로 추가해주면 됩니다. Jenkins의 플러그인 설치로 들어가 slack notification을 설치합니다. 설치가 끝나면 자동으로 재시작을 합니다. Jenkins 관리 - 시스템 설정에서 slack으로 이동해 환경설정을 합니다 workspace는 Jenkins 사이트에 있는 팀 하위 도메인을 입력합니다 default channel은 내가 만든 채널이름을 입력합니다 s..
centos에 redis 설치하기 vi /etc/redis.conf centos의 버전을 확인한다 cat /etc/os-release yum으로 redis를 설치합니다 sudo yum install -y epel-release sudo yum install -y redis redis를 시작해주고 서버를 재시작 합니다. sudo systemctl start redis sudo systemctl enable redis ping을 날려서 정상적으로 작동하는지 확인합니다 redis-cli ping PONG이라고 정상적으로 응답이 왔습니다. 기본적으로 redis가 사용하는 포트인 6379를 엽니다. 접근을 설정하기 위해 설정파일을 엽니다 vi /etc/redis.conf 127.0.0.1 는 로컬에서만 접근을 허용하기 때문에 외부 모든곳에서 허용..
Artillery로 한줄 게시판 저장/조회 성능 개선하기 Artillery는 사용하기 쉬운 성능 테스트 도구입니다. 높은 부하에서도 성능과 탄력성을 유지하는 확장 가능한 애플리케이션을 제공하는 데 사용합니다. Artillery는 API 서비스, 전자 상거래 백엔드, 채팅 시스템, 게임 백엔드, 데이터베이스, 메시지 브로커 및 대기열, 그리고 네트워크를 통해 통신할 수 있는 모든 것과 같은 백엔드 시스템을 테스트하도록 설계되었습니다. 설치 경로이자 공식 문서는 아래와 같습니다. https://www.artillery.io/docs/guides/getting-started/installing-artillery Installing Artillery CLI | Artillery - How to install the Artillery CLI via npm docs-ni..
개인 프로젝트 오류 해결 Gradle build daemon disappeared unexpectedly(ec2 스펙 업) 해당 인스턴스를 스펙업 해야한다. 그렇지 않아도 Build Now를 하는데 3번 연속 팅겨서 4번째 만에 성공한 결과화면이다. ec2에 가서 인스턴스 중지한다. 인스턴스 설정 - 인스턴스 유형 변경에 들어간다. 인스턴스 유형별 스펙은 다음과 같다. t2.micro는 가장 기본적인 옵션으로 프리티어용인데 상황에 맞게 스펙업한다. t2.micro에서 t2.large로 스펙업을 했다. 출처 : https://workerrich.tistory.com/14 [AWS] 초보 필수 적절 EC2 인스턴스 선택하기 AWS 초보 필수 적절 EC2 인스턴스 선택하기 AWS 초보에서 고수가 될때까지 열심히 공부 하겠습니다. 1...
Github webhook & Jenkins 연동하기 이전에는 github에 push하면, 직접 Jenkins에서 다시 build를 해서 배포를 해야했습니다. 하지만, 이번에는 github webhook 기능을 이용해서 Jenkins가 자동으로 build하도록 구성합니다. webhook을 통해, 다른 서버로 api를 호출하여 jenkins에 build 명령을 하도록 합니다.(docker는 여기서 제외하였습니다.) 1. github 저장소 fork하기 2. instance에 java 설치하기 3. jenkins에 github webhook 설정 추가 3. github에서 webhook 설정 https://github.com/lleellee0/cpu-bound-application GitHub - lleellee0/cpu-bound-application Con..
nginx를 이용한 로드밸런싱 및 무중단 배포 개요 일반적으로 하나의 서버를 통해 애플리케이션을 운영하지만, 많은 사용자가 늘어남에 따라 요청을 감당하기 위해 여러개의 서버가 필요합니다. 이 요청을 여러개의 서버로 잘 분산시키기 위해서 도움을 주는 nginx를 알아보도록 하겠습니다. nginx 동작 방식 nginx는 1개의 마스터 프로세스와 여러개의 워커 프로세스를 가지고 있습니다. 마스터 프로세스 설정에 따라 워커 프로세스들 동작이 정해집니다. 워커 프로세스들은 실제 요청을 처리합니다. nginx는 이벤트 기반 모델과 OS 의존적인 메커니즘을 사용해 워커 프로세스들간에 요청을 효율적으로 분산시킵니다. 워커 인스턴스들의 갯수는 설정파일에 정의되어 있으며 주어진 설정에 따라 고정될 수도 있고 사용가능한 CPU 코어에 따라서 자동으로 정해질 수도 있습니..
Jenkins 이용해서 배포하기 개요 이번 시간에 Jenkins를 이용해서 jar 파일을 배포하는 법을 알아보겠습니다. GCP 서버에 Jenkins 설치 및 docker를 이용해서 image를 사용해보겠습니다. 다음은 준비물입니다 - GCP ubuntu 환경 인스턴스 다음은 작업 목차입니다 1. jenkins instance 설치 2. worker instance 설치 3. jenkins 설치하기 3-1. jenkins 초기 설치하기 3-2. [플러그인 관리] 설정하기 3-3. [Jenkins 관리] 생성하기 3-4. [새로운 Item] 생성하기 3-5. build하기 1. jenkins instance 설치 jenkins 인스턴스에서 실행하는 명령어를 설치합니다. sudo yum install -y wget sudo yum insta..

728x90
반응형