배포(4)
-
GitHub Webhook을 이용해 Jenkins Job을 자동 실행하기
Github에서 이벤트가 발생할 때 어떤 동작을 해야할 경우 (ex: Pull Request의 발생, 이슈 생성 등) Github에서 제공하는 Webhook을 사용해 Jenkins Job을 자동으로 실행할 수 있습니다. 당연한 이야기지만 Github에서 Jenkins Job을 호출하기 위해서는 Jenkins가 외부에 공개되어 있어야 합니다. Webhook이란 Webhook은 어플리케이션이 다른 어플리케이션에 실시간으로 정보를 제공하는 방법입니다. Webhook은 실시간으로 데이터를 가져오기 위해 꽤 자주 polling 해야 하는 다른 API와 달리 다른 어플리케이션에 데이터를 즉시 전달하므로 데이터를 바로 얻을 수 있습니다. Webhook의 유일한 단점은 처음에 Webhook을 설정하는 어려움입니다. W..
2020.03.31 -
Git Flow
Git Repository 구성 Upstream Repository: 개발자들이 공유하는 저장소로 최신 소스코드가 저장되어 있는 원격 저장소 Origin Repository: Upstream Repository를 Fork한 원격 개인 저장소 Local Repository: 내 컴퓨터에 저장되어 있는 개인 저장소 위 그림의 work flow Local에서 작업을 완료한 후, 작업 브랜치를 Origin에 push Origin에 push한 브랜치를 Upstream로 merge하는 Pull Request를 생성한 후 Merge 다시 새로운 작업을 할 때, Local에서 Upstream을 pull Git Flow 고수준으로 저장소를 관리하기 위한 브랜칭 기법 Git Flow의 브랜치 종류 Master: 제품으로 ..
2020.03.24 -
Jenkins
Jenkins란 Jenkis란 소프트웨어 개발 시 지속적으로 통합 서비스를 제공하는 툴입니다. 다수의 개발자들이 하나의 프로그램을 개발할 때 버전 충돌을 방지하기 위해 각자 작업한 내용을 공유 영역에 있는 저장소에 빈번히 업로드함으로써 지속적 통합이 가능하도록 해줍니다. 그리고 프로젝트 빌드, 테스트 실행 배포 등의 통합을 자동화하는 기능도 포함하고 있습니다. Jenkins의 이점 프로젝트 표준 컴파일 환경에서의 컴파일 오류 검출 정적 코드 분석에 의한 코딩 규약 준수여부 체크 결합 테스트 환경에 대한 배포작업 각종 배치 작업의 간략화: 과거에는 CLI(Command Line Interface)로 실행되던 작업들이 Jenkins덕분에 웹 인터페이스로 쉽게 이용할 수 있게 됨 Build 자동화의 확립: J..
2020.03.19 -
배포와 CI/CD
배포란 배포란 배포 환경을 구성하고, 구현이 된 애플리케이션의 소스 검증 및 빌드를 수행하여 서버에 올리는 것을 말합니다. 과거에는 일련의 과정을 수작업으로 했으나 쵝느에는 다양한 프로그램들을 이용해 자동으로 배포하고 있습니다. CI/CD Continuous Integeration(CI) 개발자를 위한 자동화 프로세스인 지속적인 통합이다. 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 병합됩니다. 이는 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결할 수 있습니다. Continuous Delivery(CD) 개발자들이 앞서 애플리케이션에 적용한 사항이 버그 테스트를 거쳐 리포지토리에 자동으로 업로드..
2020.03.19