EAI Interface with Gitlab
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
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과 어울린다" 라고 생각 되네요 :)
꼭 사용 해 보시길 바랍니다 !!!
감사합니다
- 공유 링크 만들기
- X
- 이메일
- 기타 앱