본문 바로가기

Github

(5)
[CI/CD] GitHub Actions란? Github Actions란? Github Actions는 소프트웨어 개발과 배포를 자동화하는 통합 서비스이다. 소프트웨어 개발 라이프사이클 안에서 Pull Request, Push 등의 이벤트 발생에 따라 자동화된 작업을 진행할 수 있도록 도와준다. Github Actions 외에도 다양한 CI/CD 도구들이 존재하는데 그에 대한 간략한 설명은 아래의 포스트에서 확인 할 수 있다. [CI/CD] CI/CD란 무엇인가? CI/CD란 무엇인가? 소프트웨어 개발 및 배포를 자동화하여 효율적으로 개발 및 배포 프로세스를 관리하는 방법론이다. CI (Continuous Integration) Continuous Integration: 지속적 통합 CI는 개발자들이 코드를 yoon001.tistory.com Gi..
[CI/CD] CI/CD란 무엇인가? CI/CD란 무엇인가? 소프트웨어 개발 및 배포를 자동화하여 효율적으로 개발 및 배포 프로세스를 관리하는 방법론이다. CI (Continuous Integration) Continuous Integration: 지속적 통합 CI는 개발자들이 코드를 공유하는 과정에서 자동으로 코드 변경사항을 빌드, 테스트, 통합하는 프로세스를 의미한다. 개발자들이 코드를 수정하고 Github과 같은 버전 관리 시스템에 푸시하면, CI 서버가 이를 자동으로 감지하여 해당 코드를 빌드하고, 테스트를 실행하여 기존 코드와 통합하는 방법이다. 해당 프로세스를 통해 빠르게 코드를 통합하고, 충돌과 오류를 검출할 수 있다. 주요 특징 코드 통합 CI는 여러 개발자들이 동시에 개발하는 경우에도 각자 작성한 코드를 자주 통합하도록 장려..
[Nginx] ubuntu 환경에서 Flask 배포하기 (Github, uWSGI, Socket) ubuntu 환경에서 Flask 배포하기 (Github, uWSGI, Socket) 사전준비 패키지 매니징 툴 apt(Advance Packging Tools) 업데이트 $ sudo apt update Git에서 소스코드 다운로드 1. Git 설치 $ sudo apt install git 2. Git 초기화 프로젝트를 시작하고 소스 코드를 Git으로 관리하고자 한다면 먼저 git init으로 저장소를 초기화 해야 한다. 저장소로 사용하고자 하는 디렉터리로 이동한 다음 git init을 실행한다. $ git init 3. 소스코드 주소 복사 GIhub 홈페이지에서 가져올 프로젝트 주소 복사 (프로젝트 화면 > Code > Code > Clone > HTTPS) 4. git clone $ git clone ..
[Github] Git-flow Git-flow란? Git을 사용한 협업의 한 방법으로, git이 갖는 가장 큰 장점은 효율적인 브랜치 관리를 극대화한 방법론이다. Git-flow Git-flow에는 항상 유지되는 메인 브랜치들(master, develop)과 일정 기간 동안만 유지되는 보조 브랜치들(feature, release, hotfix)이 있다. master 정식 배포되는 안정적 버전의 소스코드 master 브랜치에는 배포해도 될 만큼 안정성이 충분히 검증된 코드들만이 병합되어야 한다. master 브랜치에는 지난 배포판 버전의 소스코드를 확인하기 위한 태그(tag)들을 추가한다. 태그를 이용해 각 릴리즈 버전의 소스코드를 확인할 수 있다. release 새로운 버전 릴리즈 준비 develop 브랜치를 기반으로 생성된다. re..
[Github] Sementic Versioning Sementic Versioning 패키지의 변화를 구분하기 위해 사용한다. MAJOR.MINOR.PATCH 기존 버전과 호환되지 않게 API가 변경되면 “MAJOR”를 올린다. 기존 버전과 호환되면서 새로운 기능이 추가 되었을 때는 “MINOR”를 올린다. 기존 버전과 호환되면서 버그를 수정했을 경우 “PATCH”를 올린다. “MAJOR” 숫자가 올라갈 때, “MINOR”, “PATCH” 숫자는 0으로 재설정 되어야 한다. “MINOR” 숫자가 올라갈 때, “PATCH” 숫자는 0으로 재설정 되어야 한다. 버전 명이 주어진 패키지가 한번 공개되면, 해당 버전의 내용은 절대 수정 되어선 안된다. 어떤 수정도 반드시 새로운 버전으로 공개 되어야 한다. 주요버전 0.x.y 은 초기 개발을 위한 것으로 언제든..