본문 바로가기
728x90
반응형

Environment27

GitHub Actions로 구축하는 실전 CI/CD 파이프라인 가이드 개요최근 CI/CD 도구로 GitHub Actions를 활용한 프로젝트가 점점 늘어나는 추세입니다. 이 문서는 그 이유를 살펴보고, 현재 많이 사용되는 다른 CI/CD 도구와의 장단점을 비교합니다.이 후, 현재 환경에 GitHub Actions가 적합한 사례가 있다면 워크플로우에 적용해보고자 합니다. CI/CD PopelinesCI (Continuous Integration) : 지속적인 통합CD (Continuous Deployment) : 지속적인 배포 CI/CD 도구 트렌트Stack Overflow Trends (언급량 기반 트렌드 분석) GitHub Actions란?GitHub Actions는 GitHub에서 제공하는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 CI/CD(연속 통합 .. 2025. 12. 8.
Git Rebase로 커밋 수정하기 개요Git에서 여러 커밋을 정리하거나 수정, 합치기(squash), 삭제, 재정렬 할때 사용하는 rebase에 대해 정리한 포스팅입니다. 기본 개념git rebase -i 은 지정한 커밋 이후의 커밋들을 편집할 수 있는 기능입니다. 은 기준 커밋으로, 이 커밋 이후 커밋들을 재작성 대상으로 삼습니다. 주요 옵션pick : 커밋 그대로 사용reword : 커밋 메시지 수정edit : 커밋 내용 수정squash : 이전 커밋과 합치기drop : 커밋 삭제 주의 사항이미 원격에 푸시된 커밋을 rebase 후 강제 푸시(--force) 해야 할 수 있음협업 브랜치에서 rebase 사용 시 다른 사람 작업과 충돌 가능중요한 커밋은 삭제 전 반드시 백업해야 합니다. 기본 예시커밋 이후의 모든 커밋이 목록으로 나.. 2025. 12. 1.
[Docker] Node.js Docker image Docker Official Image?Docker 공식 이미지는 Docker 오픈 소스 및 즉석 솔루션 저장소의 큐레이션된 세트입니다. 공식 이미지는 명확한 설명서를 포함하고 있으며, 모범 사례를 홍보하고 있으며, 가장 일반적인 사용 사례에 맞춰 설계되었습니다.Node.js란 무엇인가요?Node.js는 확장 가능한 서버 측 및 네트워킹 애플리케이션을 위한 소프트웨어 플랫폼입니다. Node.js 애플리케이션은 JavaScript로 작성되었으며, Mac OS X, Windows 및 Linux에서 Node.js 런타임 내에서 변경 없이 실행할 수 있습니다.Node.js 애플리케이션은 논블로킹 I/O와 비동기 이벤트를 사용하여 처리량과 효율성을 극대화하도록 설계되었습니다. Node.js 애플리케이션은 단일 스.. 2025. 4. 11.
[Docker] Docker 기본 CLI 명령어 정리 Docker 라이프사이클Docker ImageDocker Image 조회$ docker imagesDocker Image 생성// 도커 경로가 package.json 에 있는 경우$ docker build ./// 도커 경로가 package.json 외부에 있는 경우// docker build -t {이름공간}/{이미지이름}:{태그} {빌드 컨텍스트(DockerFile이 있는 경로)}$ docker build -t dp -f docker/Dockerfile .Docker Image 삭제$ docker rmi {이미지이름}// 이미지를 사용중인 컨테이너가 있어도 이미지만 강제 삭제$ docker rmi -f {이미지이름}Docker ContainerDocker Container 조회$ docker ps /.. 2025. 4. 11.
[Docker] Docker Container, Host 파일시스템 파일시스템(File System)모든 운영체제에는 파일 시스템을 가지고 있다.사용자가 파일을 저장, 검색, 수정하는 데 필요한 모든 기능을 제공하며 컴퓨터 시스템에서 데이터를 저장하고 구성하는 방식을 정의한다.Host, Docker Container 파일시스템 특징Host컨테이너 변경 여부에 상관없이 파일 시스템이 계속 유지 된다.Host 파일 시스템을 공유하면 보다 안전하고 효율적으로 프로그램을 만들 수 있다.Docker Container도커 이미지 배포시 새로운 디렉토리를 만들어서 사용한다.컨테이너가 변경 될때마다 데이터가 초기화/삭제 되기 때문에 필요 없을때 삭제하고, 필요할 때 추가해서 사용할 수 있어서 간편하지만 지속적으로 필요한 파일(DB, 리소스)이 있다면 컨테이너에 올릴 때마다 필요한 파일.. 2025. 4. 11.
[Docker] Docker 기본 개념 및 Dockerfile 구성 요소 설명 개요이 포스팅에서는 먼저 Docker의 설치 방법을 소개한 후, 컨테이너 환경을 정의하는 데 사용되는 Dockerfile의 주요 구성 요소에 대해 자세히 설명합니다. DockerDocker는 리눅스 컨테이너 기반의 가상화 기술을 제공하는 오픈 소스 플랫폼입니다. 가상화 기술이란 하드웨어 리소스를 논리적으로 분할하여 하나의 시스템에서 여러 가상 환경을 생성하는 것을 말합니다. Docker 역할컨테이너 기반 가상화 및 환경 표준화애플리케이션과 필요한 실행 환경(라이브러리, 설정 파일 등)을 하나의 컨테이너로 패키징합니다. 이로 인해 개발, 배포, 실행 과정이 단순화되고 효율성이 향상됩니다.호스트 OS 위에서 격리된 환경으로 동작하여 일관된 개발/실행 환경을 제공하여 모든 개발자가 동일한 컨테이너 이미지를 사.. 2025. 4. 11.
Git Tag를 활용한 효율적인 릴리스 관리 방법 개요Git은 버전 관리 시스템으로 소프트웨어 개발에 필수적인 도구입니다. 그중에서도 Git Tag는 특정 커밋을 참조하고 버전을 관리하는 데 유용한 기능입니다. 이번 포스트에서는 Git Tag를 사용하여 버전 관리와 릴리스 관리를 어떻게 쉽게 할 수 있는지 알아보겠습니다. Git TagGit Tag는 특정 커밋을 쉽게 참조하기 위한 버전 관리 도구입니다. 주로 릴리스 버전을 기록하거나, 중요한 커밋을 표식하는 데 사용됩니다.Git에서 tag는 이름을 붙여 커밋을 참조할 수 있도록 해주며, 이로 인해 프로젝트의 버전 관리가 용이해집니다. branch와 달리 변경되지 않는 참조이므로, 프로젝트의 중요한 지점(예: 릴리스, 안정된 버전)을 표시하는 데 이상적입니다. Git Tag, Branch 비교Git에서 .. 2025. 1. 15.
README.md와 CHANGELOG.md 작성 가이드 개요프로젝트를 개발하다 보면 코드 못지않게 중요한 것이 바로 문서화입니다. 특히 Git 기반 프로젝트에서는.md 문서로 프로젝트의 품질을 높힐 수 있습니다. 특히 깔끔한 README.md와 체계적인 CHANGELOG.md를 갖춘 프로젝트는 신뢰감을 주고, 협업이나 오픈소스 기여도 훨씬 쉬워집니다. 이 글에서는 마크다운 문서 중에서도 README.md와 CHANGELOG.md의 역할과 작성 요령에 대하여 정리해보겠습니다. 마크다운(Markdown) 문서란?마크다운(Markdown)은 텍스트 기반의 경량 마크업 언어로 간단한 문법만으로 HTML처럼 문서의 구조를 표현할 수 있는 형식입니다..md 확장자를 가지며, 개발자 문서, 블로그, README 등 다양한 곳에서 널리 사용됩니다.README.md – 프.. 2025. 1. 15.
Git submodule 시작하기 배경다른 프로젝트의 기능을 앱에 추가하는 방법으로 모노레포 방식을 사용할 수 있지만, 각 프로젝트를 독립적으로 관리해야 하는 경우에는 적합하지 않다.Git Submodule은 메인 프로젝트에서 외부 링크 형태로 서브 프로젝트를 연결해 두었다가, 필요할 때 최신 변경 사항을 가져와 작업한다.이 방식은 서브 프로젝트의 별도 사본을 만들지 않으며, 원래 저장소의 최신 상태를 유지하면서 개발을 진행할 수 있게 해줍니다. 서브 프로젝트는 독립적으로 버전 관리를 유지하면서도, 메인 프로젝트와 쉽게 통합할 수 있습니다. main project와 submodule project 관계main project에 submodule을 추가하여 사용한다.main project에 root에 submodule들을 관리하기 위한 .g.. 2024. 9. 27.
728x90
반응형