EAI Interface with Gitlab

Oracle Cloud SOA(SOACS) 구축 프로젝트를 하며, Gitlab을 이용하였습니다

통칭 Git 이라고 하며, 그 중 Gitlab이란 오픈 소스 소프트웨어를 사용했습니다

(물론, Free Version Gitlab을 사용)

EAI만 10년 넘게 경력을 가지고 있는데, Git을 통해 한 건 이번이 처음이였는데,

EAI를 사용하는 사람들에게 강력하게 추천 드립니다 !!!

이번 Posting은 EAI Interface with Gitlab 입니다 :)


EAI와 Gitlab을 접목 시킨것에 대해 소개하기 전에, 간단하게 Git에 대해 설명 드리자면..

Git이란?

1. 분산형 버전 관리 시스템 (DVCS)

2. Issue Tracker

3. CI/CD (지속적 통합 및 배포)

4. Wiki

5. Label

6. API 제공

7. Milestones

입니다. 자세한 사항은 Googling Go Go Go !


그럼 EAI와 Gitlab을 어떻게 접목 시켰는지 소개 드립니다 !!!


1. 분산형 버전 관리 시스템 (DVCS)

-> Gitlab은 Repository라는 항목이 있습니다

    EAI의 개발 소스를 Gitlab의 Repository와 동기화(Clone) 하여 사용 합니다

    Repository의 최상위 Branch는 Master이며, 버전 관리를 위해 Master에 

    소스를 Commit & Push하여 사용 합니다

-> Git Branch (개별 작업)

    EAI는 특성상 Interface마다 개발 소스가 다릅니다

    그래서, 개인적으로 생각 한 방법이 Interface마다 Master 에서 Branch를 생성해서

    사용하는게 좋을 것 같다고 생각합니다


2. Issue Tracker

-> Git에는 Issue를 생성하여 Tracker를 할 수 있습니다

    Issue 하나가 Interface 하나로 생성하여 사용하는게 좋습니다

-> Interface Issue를 생성하여, Source 와 Target 담당자들을 Assign 하고,

    Comment를 통해 개발 진행을 공유 합니다 (History 추적에 Good !!)

-> Interface Issue에는 인터페이스 정의서, 테스트 결과서, 소스와 타겟 정보 등등을 기입하여

    정보를 빨리 Catch 할 수 있습니다


3. CI/CD (지속적 통합 및 배포)

-> 위 1번에서 언급하였지만, Interface마다 Master 에서 Branch를 생성하면,

    해당 Branch 만 EAI에 Deploy(배포) 합니다

-> Gitlab에서 SOACS 기준에 CI/CD에 필요한 설정은 다음과 같습니다..

    (자세한 설정 방법은 향 후 따로 Posting 하겠습니다 lol)

    - Gitlab : gitlab-ci.yml, pom.xml, gitlab-runner

    - SOACS : Maven, settings.xml, settings-security.xml


4. Wiki

-> Well....Wiki 입니다 :P

    Interface에 필요 한 문서를 올려 공유 할 수 있습니다


5. Label

-> Git에는 Label이 존재합니다. 이 Label을 Interface 진행 상태로 만들었습니다

    각 Label을 클릭하면 각 진행 상태의 Interface가 검색 가능합니다

    <Sample>

   


-> 음..Tip으로..Source 와 Target 시스템 Label을 만들어 놓으면, 

    각 Interface가 어떤 시스템과 통합 되어 있는지도 알 수 있지요 :)


6. API 제공

   -> Gitlab은 API를 제공합니다

       API를 통해 여러 정보를 가지고 올 수 있습니다

       Interface Issue의 진행 상태, CI/CD 등등 아주 유용 한 정보가 많습니다


7. Milestones

   -> Milestones을 생성하여 일정마다 Interface Issue를 Assign 하여, 

       진척 관리도 할 수 있습니다


글로 간단하게 썼지만..EAI와 Git을 통합 할때는 힘들었고..하지만 해 놓으니..

"EAI는 정말 Git과 어울린다" 라고 생각 되네요 :)

꼭 사용 해 보시길 바랍니다 !!!


감사합니다


이 블로그의 인기 게시물

우리집 인테리어 공개(광명 이편한세상 25평)

소노벨 비발디파크 맛집 바베큐단월620 "캠핑 감성"

SAP Netweaver Developer Studio with PI