Continuous Integration 7

Apt.ly를 이용한 데비안 리포지토리 생성

Apt.ly를 이용한 데비안 리포지토리 생성 조대협 (http://bcho.tistory.com) 앞의 글에서 Jenkins + Maven 조합을 통해서 애플리케이션 설치 파일을 데비안 패키지로 패키징하는 방법에 대해서 알아보았다. 이제 이 패키지를 서버에 설치하는 방법을 살펴본다.패키지를 설치하는 방법은 간단하게 데비안 패키지 파일을 설치하고자 하는 서버에 복사해놓은 다음에, sudo apt-get install을 이용해서 설치하는 방법도 있지만, 설치하고자 하는 서버마다 복사하기가 번거롭기 때문에 조금 더 쉬운 접근을 위해서 데비안 패키지 서버를 올리는 방법이 있다. 우리가 JDK나 node.js 등 다양한 유닉스 패키지를 apt-get 을 이용하여 설치가 가능한것은 미리 데비안 패키지 리파지토리 서..

Maven을 이용한 데비안(*.deb) 패키지 빌드

Maven으로 데비안 패키지를 만들어보자 (http://bcho.tistory.com)조대협애플리케이션 배포CI/CD 빌드 배포 프로세스에서, 컴파일된 애플리케이션을 배포하는 방법은 여러가지가 있다. 빌드된 바이너리를 Ansible과 같은 Configuration management 도구를 이용해서 배포하는 방법이 일반적이지만, 작업이 복잡한 경우에는 많은 스크립트 작업이 필요한 경우가 있다. 보통 애플리케이션 배포는 단순하게 바이너리만을 복사하는 것이 아니라, 이에 필요한 의존성이 있는 패키지 (예를 들어 JDK나 기타 의존되는 라이브러리)를 배포해야 하는 경우도 있고, 경우에 따라서는 의존되는 파일이나 복잡한 디렉토리 구조를 생성해야 하는 경우가 있다. 이를 Ansible과 같은 Configurati..

gitHub와 Jenkins 연결하기

Jenkins와 gitHub 연동 조대협 (http://bcho.tistory.com) 가장 널리 사용하는 Jenkins와, 소스 코드 리포지토리 서비스인 GitHub를 연동하는 방법에 대해서 알아본다. 시나리오는 gitHub에 코드를 푸쉬하면 Jenkins가 이를 인지해서 자동으로 코드를 내려 받아서 빌드 스크립트를 실행하는 순서로 한다. GitHub에서 Credential 생성 gitHub 자신의 계정으로 로그인 한 후 우측 상단의 자신의 사진이 있는 아이콘을 누르면 메뉴가 나오는데, 여기서 Setting > Developer settings 메뉴로 들어간 후에 아래와 같이 Personal access tokens 메뉴로 들어간다. 다음 우측 상단의 Generate new token 메뉴를 선택한다...

배포 자동화 솔루션 Spinnaker - #1 소개

Spinnaker #1 - 소개 SpinnakerSpinnaker 는 넷플릭스에서 개발하여 오픈 소스화한 멀티 클라우드를 지원하는 Continuous Delivery Platform 이다. 구글 클라우드, 아마존, 마이크로소프트등 대부분의 메이져 클라우드를 지원하며, Kubernetes 나, OpenStack 과 같은 오픈소스 기반의 클라우드 또는 컨테이너 플랫폼을 동시에 지원한다.시나리오Spinnaker 의 특징은 멀티 클라우드 지원성뿐만 아니라, 오케스트레이션 파이프라인 구조를 지원한다 특징인데, 배포 단계는 여러개의 스텝이 복합적으로 수행되는 단계이기 때문에, 복잡한 워크 플로우에 대한 관리가 필요하다.하나의 배포 시나리오를 통해서 오케스트레이션 파이프라인에 대해서 이해해보도록 하자코드를 받아서 빌..

Hudson을 이용한 빌드 배포 테스트 자동화

Hudson을 이용한 빌드와 테스트의 자동화 2007-04-04 BEA Systems Korea Sr consultant Byungwook Cho (bcho@bea.com) Continuous Integration(점진적 통합,이하 CI)이란, 개발자가 각각 개발한 소스코드를 모아서 한꺼번에 빌드하는 통합 빌드의 과정을 특정 시점이 아니라 매일이나 매주와 같이 아주 잦은 주기로 수행함으로써 통합에서 발생하는 오류와 시간을 줄이기 위한 기법이다. Extreme Programming Community (XP)에서 애자일 방법론의 일부로 Kent Beck에 의해서 고안된 방법으로 다음과 같은 특징을 가지고 있다. 1. CI의 특징 (1) 소스코드 일관성 유지 CI툴을 설정하기 위해서는 기본적으로 소스 관리 시..

개발 환경 자동화에 관심이 많은 분들께 알립니다.

안녕하세요? 근래 제 블로그 포스트에 개발환경 자동화에 대해서 관심들이 많으신것 같습니다. 이 내용은 작년 NHN에서 빌드 배포 자동화 솔루션 프로젝트를 진행하면서 관심이 있어서 그때부터 스터디하고 현재 K사와 H사에 적용하면서 Maturing 시켜가고 있는 프로세스 입니다. 원래 금년 JCO 컨퍼런스에서 발표할 예정이었습니다만, 여러 사정으로 발표를 못했습니다. 시간이 되는데로 설정 방법과 프로세스에 대한 문서와 강의를 진행할 예정입니다만 아직 프로세스를 완성 시켜 나가는 단계이고 시간이 없다는 핑계로 진행을 못하고 있습니다. ^^; 혹시 개발환경 자동화 프로세스에 대해서 필요하신 내용이나 의견이 있으시면 강좌 문서에 반영해보도록 해보겠으며, 그전에라도 도움이 필요하신 분들은 개별 메일이나 또는 요즘 ..

ALM 2008.03.13

통합 빌드 환경 설정 완료

9개의 프로젝트로 구성된 WLI 시스템에 대한 통합 빌드 시스템을 구축하였다. Hudson + ANT + WebLogic Workshop ANT TASK 를 조합해서 구성하였고 Free STMP 서버로 Alert 기능은 지원할 생각이고.. 인자 자동 DEPLOY 자동화까지 진행할 예정 다음주면 이건 될것이고.. == 표준화 팀에서 JUnit + DBUnit + Hudson으로 기능 테스트에 대한 자동화를 진행중이고 다음주 부터는 JUnit + Cactus 기반의 Unit 테스트를 구현할 예정이다. 이 과정에서 개발팀에게 Test Case와 Tuning을 위한 Issue Tracking 시스템을 설치할 예정인데.. 아직도 Trac을 할지.. 몰 쓸지를 결정을 못했네 그랴... 차라리 익숙한 Bugzilla..