728x90
반응형
SMALL

docker 5

[CI/CD] paths-filter 하나로 빌드 시간 72% 단축하기

배경사이드 프로젝트를 개발하면서 GitHub Actions로 CI/CD를 운영하고 있습니다.프론트엔드(Next.js)와 백엔드(Spring Boot + Docker)를 하나의 레포에서 관리하다 보니,텍스트 하나 수정해도 매번 풀빌드가 돌았습니다.Node.js 설치 → npm ci → Next.js 빌드JDK 설치 → Gradle 빌드 → Docker 빌드 → Docker 푸시 → 서버 배포 평균 소요 시간: 약 3분대...!FE 수정 1줄 → 백엔드 Docker 이미지까지 새로 빌드 → 배포까지 3분 대기문제 분석# 기존: 모든 커밋에서 무조건 전체 실행- name: Build with Gradle # BE 변경이 없어도 항상 실행 run: ./gradlew build -x test- nam..

IT/etc 2026.03.13

[Docker] 컨테이너 파일을 서버에 마운트하기 : Docker + Volume Mount

🎯 문제: 컨테이너의 파일을 호스트에서 어떻게 접근할까?일반적인 상황:Docker 컨테이너 내부└─ /app/crawler/main.py (크롤러 파일)호스트(서버) 시스템└─ /home/opc/career-lens/crawler/ (비어있음 😢)크론잡└─ python3 /home/opc/career-lens/crawler/main.py (파일이 없어서 실행 불가!)원인: 컨테이너와 호스트의 파일시스템이 분리되어 있음✨ 해결책: Docker Volume Mount (-v 옵션)docker run -v /app/crawler:/home/opc/career-lens/crawler \ career-lens:latest의미:컨테이너의 /app/crawler/↔️ 호스트의 /home/opc/career..

IT/etc 2026.01.27

[CICD] 커밋만 하면 배포되게 만들기: GitHub Actions + Docker CI/CD 삽질기

커밋만 하면 배포되게 만들고 싶었다: GitHub Actions + Docker CI/CD 삽질기1. 글을 쓰게 된 배경Spring Boot 프로젝트를 하나 새로 시작하면서, 커밋만 하면 자동으로 서버에 배포되는 구조를 처음부터 제대로 만들어보고 싶었다.그동안 회사에서는 이미 잘 짜여진 CI/CD 파이프라인 위에서만 작업하다 보니, 정작 Docker, GitHub Actions, 서버 배포를 처음부터 끝까지 직접 구성해본 경험은 많지 않았다.이번에 개인 프로젝트를 하면서 다음을 목표로 잡았다.Spring Boot + Java 17GitHub Actions 기반 CI/CDDocker Hub 이미지 빌드 및 푸시Oracle Cloud 무료 서버에 컨테이너 배포그리고… 역시나 한 번에 될 리는 없었다 😅이 ..

IT/etc 2026.01.20

[CICD] Execute permission for Gradle Wrapper in CI workflow

github actions 126 에러 코드 발생시 해결 방법 build-and-deployProcess completed with exit code 126. .github/workflows/docker-ci.yml 파일에 Gradle Wrapper 실행 권한 부여해주기 (3.1.처럼)# 3.1. Gradle Wrapper 실행 권한 부여 (exit code 126 해결)- name: Grant execute permission for gradlew run: chmod +x gradlew# 3.2. Gradle 빌드 (초기엔 테스트 제외 권장)- name: Build with Gradle # run: ./gradlew build # 전체 빌드 (테스트 포함) run: ./gradlew build..

IT/etc 2026.01.20

[오라클 클라우드] 무료 웹 서버 구축기2 (인텔리제이, 도커)

[오라클 클라우드] 무료 웹 서버 구축기2 (인텔리제이, 도커) 이 게시물의 결과물을 미리 맨위에서 보여드립니다.아직 아무것도 없지만 API 이거저거 붙여볼 생각입니다.http://caracter-test.kro.kr/ 대범이가 노래를 부른 그놈의 도커.이번 기회에 나도 한번 직접 해보자는 생각이 들었다. 도커란 무엇인가?Go언어로 작성된 리눅스 컨테이너 기반으로 하는 오픈소스 가상화 플랫폼이다. 다시 말해 특정한 서비스를 패키징하고 배포하는데 유용한 오픈소스 프로그램이다. 도커를 왜 사용할까?1. 애플리케이션 독립성을 가진다. 호스트 OS, 다른 컨테이너와도 독립된 공간을 보장받아 충돌이 발생하지 않는다. 2. 컨테이너 내부에 작업 후 배포하려 한다면 도커 이미지로 만들어서 운영서버에..

IT/Cloud 2024.08.11
728x90
반응형
LIST