DevOps

DevOps/🛠️ CICD

리액트 빌드시간 최적화

문제리액트 배포시빌드하는데 6분이 넘게 소요되는 문제가 발생.원인빌드시 source map때문에 느려짐https://jwinjection.tistory.com/454 Source MapSource Map✅ Source Map이란?Source Map은👉 최적화되고 압축된 자바스크립트 파일과👉 원본 소스코드(JSX, TS 등)를 연결해주는 맵핑 정보입니다.✅ 필요한 이유예시빌드된 코드:function a(a){return a*a} 원jwinjection.tistory.com 해결리눅스 CICD 에서npm run build를 GENERATE_SOURCEMAP=false npm run build로 수정 결과 📉 빌드 속도 약 87.45% 향상!

DevOps/🛠️ CICD

Python FastAPI + (Gunicorn || uvicorn) + Docker로 Blue-Green 무중단 배포

FastAPI + Gunicorn + Docker로 Blue-Green 무중단 배포백엔드로 사용중인 파이썬 프로젝트를 배포해보겠습니다. 원래 두개의 서버를 띄워놓고 nginx로 라우팅(Nginx 링크)만 전환하는 구조였는데제 백엔드 프로젝트는 스케쥴러를 통해 INSERT를 하다보니 두개를 동시에 띄우는게 좀 그래서하나 켜고 하나 끄는 구조로 적용했습니다.📁 프로젝트 디렉토리 구조root에 바로 main이 있는 구조!plc_insert_backend/├── main.py # lifespan에서 APScheduler 실행├── .env # 환경 변수 (DB 연결 등)├── .example ..

DevOps/🛠️ CICD

React 배포 및 CICD & 백엔드연동

React CICD 구현서버환경서버 : linux ubuntu백엔드 : spring boot + jwt + mybatis프론트 : 리액트 Gitlab(도커)Jenkins(도커) NGINX Jenkins파이프라인pipeline { agent any environment { LOCAL_REGISTRY = 'localhost:5000/원하는레지스트리이름' // 프론트 전용 레지스트리 SCRIPT_DIR = '프로젝트경로/deploy-script.sh' BASE_PATH = '프로젝트경로' USER_ID = '아이디' HOST_URL = '호스트URL' // http://생략 SSH_PORT = 'SSH포트' G..

DevOps/🐳 Docker & Kubernetes

Docker | prometheus 설치 및 사용법

prometheus 설치docker-compose.yml 작성version: '3.8'services: prometheus: image: prom/prometheus container_name: prometheus ports: - "9090:9090" volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml restart: always node_exporter: image: prom/node-exporter container_name: node_exporter ports: - "9100:9100" restart: always 같은 폴더내에 prometheus.yml 작성versi..

DevOps/🌌 Git

Gitlab gmail smtp등록

Gitlab gmail smtp를 등록gitlab에서 smtp 설정하는 방법은 정말 간단합니다! 그냥 구글 앱비밀번호 발급받은후 gitlab에서 gitlab.rb만 수정하면 끝입니다.1. gmail 앱비밀번호 발급gmail로 가서 앱비밀번호를 발급받습니다. 2. gitlab smtp활성화이후 아래 명령어를 쳐서 gitlab.rb를 수정해야합니다vi /etc/gitlab/gitlab.rb /를 이용해서 검색을 할 수 있습니다./email  이런식으로 검색해서 이메일설정 부분을 찾습니다 빨간 네모친 부분을 주석 풀고  아래와 같이 수정해줍니다.  수정이 끝나면 저장하고 나온 다음아래 명령어를 쳐서 반영해줍니다.gitlab-ctl reconfigure 3. 테스트gitlab-rails consoleNotify..

DevOps/🛠️ CICD

CICD | Webhook을 이용한 Blue-Green 배포 구현

Webhook을 이용한 Blue-Green 배포 구현 시작하기전GitLab webhook과 Docker Registry가 필수로 구현되어 있어야합니다. https://jwinjection.tistory.com/286 Jenkins | GitLab webhook설정Jenkins | GitLab webhook설정최종브렌치인 main 브렌치에 push를 하면GitLab webhook 이 push이벤트를 감지한 후업데이트 된 최신 main 브렌치를 jenkins내부로 clone 후 jar파일로 build 하는 작업을해보도록 하겠jwinjection.tistory.com https://jwinjection.tistory.com/288 Docker | 자체 Docker Registry 생성하기Docker Regis..