DevOps

DevOps/🐳 Docker & Kubernetes

도커 로그파일 주기적으로 비우는법

sudo find /var/lib/docker/containers/ -type f -name "*.log" -exec du -h {} + | sort -hr | head -n 10 로그 용량이 너무 큼 주기적으로 비우려함. sudo vi /etc/cron.daily/docker-log-compact 스크립트 작성#!/usr/bin/env bashset -euo pipefailexec 9>/run/docker-log-compact.lock || exit 0flock -n 9 || exit 0THRESHOLD_MB=200KEEP_MB=10KEEP_BYTES=$((KEEP_MB*1024*1024))find /var/lib/docker/containers -type f -name '*-json.log' -siz..

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 Jenkinsjenkins가 도커컨테이너 환경이라면내부에 접속해서node를 설치해야함# 컨테이너 접속 (root로)docker exec -u root -it jenkins bash# Debian/Ubuntu 기반(jenkins/jenkins:lts 기본)apt-get updateapt-get install -y curl ca-certificates gnupgcurl -fsSL https://deb.nodesource.com/setup_18.x | bash -apt-get install -y nodejs# 확인node -..

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' 카테고리의 글 목록