프로젝트 목록

에이치티비욘드

프론트엔드 인프라 및 배포 환경 개선

엣지(현장) 서버에 배포되는 프론트 프로덕트의 WebServer를 pm2 serve에서 nginx로 전환하고, Ansible Semaphore + Jenkins + AWS S3를 잇는 단일 배포 파이프라인 구축. Git Tag 기반 version 관리로 단지별 배포 버전 추적 가능

기간: 2024.02 - 2024.04역할: 프론트엔드 인프라
JenkinsAnsible SemaphoreAWS S3nginxGit TagYAMLLinux

주요 성과

  • 엣지 배포 환경 전환

    blue-byb-pos·blue-byb-kiosk·blue-web-wallpad 3개 프론트 프로덕트의 WebServer를 pm2 serve → nginx 정적 콘텐츠 서비스로 이관. pm2 설정 변경 없이 build 파일 교체만으로 배포가 완결되도록 구조 단순화

  • 단일 배포 파이프라인

    Ansible Semaphore + Jenkins + AWS S3를 잇는 단일 배포 파이프라인 구축 (GITHUB_BUNDLE_CHECK → JENKINS_BUILD → DEPLOY_TO_EDGE 3단계 yaml 정의)

  • POS·KIOSK 빌드 통합

    REACT_APP_PRODUCT 환경변수 sed 치환으로 한 번의 build step에서 두 프로덕트 산출물을 동시 생성하도록 변경 (이전 2회 빌드 → 1회)

  • AWS S3 빌드 산출물을 Git Tag 기반 version 단위로 관리 (이전 build_id 기반 → version_tag 기반). devops-bundle에서 단지별 배포 버전을 명시적으로 추적 가능하도록 개선
  • 트러블슈팅: Jenkins build parameter에 version_tag·s3_bucket_name 분리 도입 — origin/develop 같이 슬래시 포함 tag가 s3 폴더명과 미스매치되어 파일을 못 찾는 이슈 해결
  • nginx 정적 콘텐츠 실행을 위한 build 폴더 권한 자동화 (chmod 755 + /home/htbeyond에 711 — 다른 팀 폴더에 영향을 주지 않으면서 nginx만 통과 가능하도록 최소 권한)
  • Git Tag 기반 버전 관리 전략 수립 (dev / alpha / prod) — 환경별 배포 흐름 일관화