본문 바로가기
IBM - old/IBM Bluemix

막무가내로 시작해보는 cloud - IBM Bluemix - 3. 개발

by freeman98 2016. 6. 7.

1) IBM Bluemix 개발 - 시작


안녕하세요 freeman 입니다.


지난번 강좌까지 해서 개념을 잡기 위한 설명도 들었고 그냥 한번 애플리케이션과 서비스, 애드온을 생성도 해봤습니다. 지난 강좌를 다시 한번 짚어보면 IBM Bluemix 는 aPssS (application Platform as a Service) 라는 개념이 더 맞는 것으로 보이며 이미 만들어진 다양한 서비스와 애드온을 통해서 기업 또는 개발자가 실제로 필요한 부분 (곧, 애플리케이션) 만 집중해서 개발 하게 되면 나머지는 미리 만들어진 서비스와 애드온을 통해서 실제 기업과 같이 서비스할 수 있게 만든 플랫폼이 아닌가 합니다.


지난 강좌까지는 간단하게 샘플화면을 살펴봤다면 이번 강좌에서는 실제로 개발자가 어떻게 개발을 해서 IBM Bluemix 에 올리고 서비스할 수 있는지 다양한 방법들을 살펴보도록 하겠습니다.
그럼 막무가내로 "막무가내로 시작해보는 cloud - IBM Bluemix” 제 3강 개발을 시작하도록 하겠습니다.

 
2) IBM Bluemix 개발 해보기 – CF (command-line tool)


개발자가 애플리케이션을 개발하고 IBM Bluemix 에 올려서 테스트/서비스 하기 위해서 가장 간단한 방법은 Command-line tool 을 이용하는 것입니다. 이에 대한 사용방법을 알아보려면 대쉬보드 상에서 오른쪽 위편에 “View Quick Start” 라는 메뉴가 있는데 이를 클릭하면 간단하게 사용할 수 있는 가이드가 하단과 같이 나타납니다.


IBM Bluemix 는 command-line interface 를 사용하기 위하여 CF 라는 간단한 도구를 제공합니다. CF 는 이미 인지하고 계시겠지만 Cloud Foundry 의 약자이며 Cloud Foundry 의 command-line interface 를 제공하는 공식 도구입니다. 해당 도구는 하단과 같이 github 를 통해서 제공되며 사용하고자 하는 OS 에 맞추어서 해당 installer 를 다운받으시면 됩니다.


https://github.com/cloudfoundry/cli#downloads

 
다운 받은 installer 를 압축 해제하면 cf 라는 도구가 바로 나오며 하단과 같이 해당 폴더에서 cf 라고 명령을 사용하면 바로 사용할 수 있는 손쉬운 도구입니다. 단순하게 압축만 해제하면 바로 IBM Bluemix 에 접속할 수 잇는 command-line tool 의 준비가 완료된 것입니다.


간단하게 개발자 로컬 pc 에서 개발한 소스를 IBM Bluemix 에 반영하는 것을 테스트하기 위해서 단순 jsp 소스가 하나 있는 애플리케이션을 작성하여 웹 애플리케이션을 배포할 수 있게 WAR 파일로 패키징 합니다.
(참고 : jsp 소스는 간단하게 system 이 가지고 있는 환경변수를 출력해보는 샘플이며   https://hub.jazz.net/project/communitysample/env-javaweb/overview 예제를 사용했습니다.)


설치된 CF 도구를 이용해서 IBM Bluemix 접속과 로그인을 수행합니다.
(IBM Bluemix 접속 : cf api https://api.ng.bluemix.net
IBM Bluemix 로그인 : cf login)


IBM Bluemix 에 대한 접속이 완료되면 만들어진 샘플 애플리케이션을 이전 강좌에서 만들어둔 애플리케이션에 push 합니다. 이렇게 push 만 하면 IBM Bluemix 반영 끝! 말 그대로 개발자 로컬에서 개발된 애플리케이션을 cloud 에 있는 IBM Bluemix 로 밀어 넣는 작업을 수행되며 자동으로 빌드와 반영을 위한 재시작이 이루어집니다.

 
반영이 완료되었으므로 IBM Bluemix 서비스 주소에 해당 jsp 명을 입력하여 접속하면 방금 만들어진 페이지의 결과를 정상적으로 확인할 수 있습니다.


강좌를 따라해보셔 아시겠지만 IBM Bluemix 에서 제공하는 command-line tool 인 CF 는 개발자가 개발한 애플리케이션을 IBM Bluemix 에 반영하고 사용하기 위한 가장 단순하고 직관적이며 쉬운 방법 중에 하나입니다.


 
3) IBM Bluemix 개발 해보기 – IBM DevOps Services (Git + Jazzhub)


이전 챕터에서는 개발자가 애플리케이션을 개발하고 IBM Bluemix 에 올려서 테스트/서비스 하기 위해서 가장 간단한 방법으로 CF 라는 Command-line tool 을 이용해서 작업하는 방법을 가이드 드렸습니다. 해당 방법은 혼자서 개발하고 반영할 때는 편리하지만 여러 사람이 그룹으로 개발/반영하기에는 조금 불편할 수 있습니다. 그래서 이번 챕터에서는 그러한 상황에서 좀 더 효율적으로 개발/반영하기 위해 IBM DevOps 서비스를 엮어서 continuous delivery 를 할 수 있는 방안을 말씀 드리도록 하겠습니다.


IBM DevOps Services 를 이용하기 위해서 시작하는 방법은 단순합니다. 대쉬보드에서 “Add Git” 버튼을 클릭합니다. 


가장 먼저 Git Repository 를 생성하기 위해서 IBM DevOps Services 에 IBM id 를 이용해서 접속합니다. (사전에 IBM Bluemix 를 가입할 때 사용하신 id 입니다.)


IBm DevOps Services 를 사용한다는 의미는 내부적으로 Jazz hub 를 사용한다는 의미이므로 이에 필요한 Jazz ID 를 생성합니다.


위에 작업이 완료되면 정상적으로 가지고 계신 IBM id 를 통해서 DevOps Services 를 사용이 가능하며 “continue” 버튼을 클릭합니다.


그럼 이제 진짜로 Git Repository 를 생성하는 단계가 나오며 “continue” 버튼을 클릭해서 생성합니다. 문제없이 Git Repository 가 생성되면 하단과 같은 메시지를 확인할 수 있습니다.

 
Git Repository 가 정상적으로 생성되면 이제 대쉬보드에서 Git 에 연결할 수 있는 URL 을 확인할 수 있습니다. Git URL 이 있으므로 이를 통해서 Git 연결해서 작업이 가능하시며 만약 IBM DevOps Services 를 이용해서 Git 관리, 소스 변경 및 배포작업을 수행하시려면 “Code” 라는 버튼을 클릭합니다.  


그러면 이제 하단과 같이 IBM DevOps Services 화면을 바로 확인할 수 있으며 제일 처음으로는 하단과 같이 직접 수정 가능한 Git repository 구조와 내용들이 확인 가능합니다. 


그럼 여기서 한번 소스를 수정하고 IBM Blueworks 에 반영해 보도록 하겠습니다. 수정하고자 하는 소스를 선택하면 이를 바로 수정할 수 있는 Web editior 화면이 나옵니다.
(저는 여기서 샘플 화면에 나오는 문구를 수정하기 위하여 src 폴더에 있는 HelloResouce.java 소스를 선택하였습니다.)

 
출력되는 문구를 원하시는 형태로 수정하고 저장합니다. 수정/반영이 되는지 확인만 할 것이기 때문에 단순하게 하셔도 상관없을 듯 합니다.


원하시는 형태로 소스를 수정/변경 하셨다면 이제 이를 반영하기 위하여 맨 왼쪽 메뉴 탭의 두번째에 있는 아이템을 클릭하여Git Repository 에 들어갑니다. 그러면 화면에서 Changed Files 라는 항목이 보이며 특히 방금 변경한 java 소스 파일이 포함된 것을 확인할 수 있습니다.

 
이를 반영하기 위하여 해당 java 소스를 체크하고 간단한 설명을 입력한 후 commit 버튼을 클릭합니다.

 
Commit 이 성공적으로 완료되면 해당 사항은 그 하단의 tap 으로 옮겨집니다. 여기서는 branch 로 만든다는지 undo 한다는지와 같은 다양한 git 기능들을 사용할 수 있습니다. 실제 commit 된 변경 소스를 반영하기 위해서 push 를 클릭합니다.


Git 에서 push 가 정상적으로 완료가 되면 오른쪽 상단에 있는 “Build&Deploy” 메뉴 클릭을 통해서 배포가 정상적으로 수행되었는지 확인이 가능합니다. 

 
참고적으로 저는 특이하게 처음에는 자동으로 빌드/배포가 안되어서 Advanced 메뉴를 선택한 후 “request build” 버튼을 클릭해서 한번 수동으로 빌드하고 배포하니까 그 뒤로는 자동으로 반영이 잘 되었습니다.

 
이렇게 반영이 완료되었다면 이전에 확인한데로 본인 서비스를 확인해보면 하단과 같이 변경된 사항이 IBM Bluemix 의 본인 서비스에 반영된 것을 잘 확인할 수 있습니다.


 
3) IBM Bluemix 개발 - 정리


이번 강좌에서는 미리 언급 드린 것처럼 개발자들이 개발한 결과물을 어떻게 IBM Bluemix 에 반영할 것인가를 하나씩 살펴봤습니다.


IBM Bluemix 에서 제공하는 command-line tool 인 CF 는 개발자가 개발한 애플리케이션을 IBM Bluemix 에 반영하고 사용하기 위한 가장 단순하고 직관적이며 쉬운 방법 중에 하나입니다. 하지만 CF 의 경우 개인 개발자에게는 적합한 환경일 수 있지만 팀 단위의 개발을 수행하고 그 결과물을 반영하기에는 조금 부족할 수 있습니다. 이러한 경우를 위하여 IBM Bluemix 는 IBM DevOps 를 함께 제공하고 있으며  Git repository 와 Jazz hub 를 통해서 DevOps 를 제공하므로 팀 단위로 개발/반영을 쉽게 절차적으로  수행할 수 있도록 하고 있습니다.


이번 강좌를 통해서도 IBM Bluemix 를 이해하는데 한발 더 다가서기를 바라며 이번 강좌는 여기에서 줄이도록 하겠습니다. ^^&;



9) 참고 자료
1.    Bluemix Overview
https://www.ng.bluemix.net/docs/#overview/overview.html#overview



댓글