넥서스 OSS 넥서스 프로 ê°™ì€ ì¤€ë¹„ ì €ìž¥ì†Œë¥¼ ì§€ì› í•˜ì§€ 않습니다. ë˜í•œ ì‚¬ìš©ìž ì§€ì • 메타ë°ì´í„°ë¥¼ ì§€ì›í•˜ì§€ 않습니다. ì´ë¡œ ì¸í•´ 아티팩트 í”„ë¡œëª¨ì…˜ì€ ìŠ¤í…Œì´ì§• 리í¬ì§€í† 리ì—서 아티팩트를 `릴리스` 리í¬ì§€í† 리로 ì´ë™í•˜ê±°ë‚˜ 복사해야만 ì²˜ë¦¬í• ìˆ˜ 있습니다( … ë˜ëŠ” 스테ì´ì§€ë¥¼ í˜¸ì¶œí• ìˆ˜ 있습니다) 가장 중요한 ê²ƒì€ ì´ì œ ì—°ì† ë°°ë‹¬ 파ì´í”„ë¼ì¸ì„ 구축하는 ê²ƒì´ ë§¤ìš° 쉬우며 ì¡°ì§ì˜ 복잡한 워í¬í”Œë¡œìš° ëŒ€ë¶€ë¶„ì„ Jenkins, Nexus ë° LiveRebelì„ ì‚¬ìš©í•˜ì—¬ 모ë¸ë§í• 수 있다는 것입니다. Nexus 리í¬ì§€í† 리 ê´€ë¦¬ìž ê²Œì‹œìž ë¹Œë“œ 단계는 빌드 후 ë°”ì´ë„ˆë¦¬ë¥¼ ì—…ë¡œë“œí• ìˆ˜ 있ë„ë¡ í•´ì•¼ 합니다. 빌드 프로세스 ì¤‘ì— ìµœìƒì˜ ë³´ê³ ë¥¼ 위해 게시 단계는 ê²°ê³¼ 단계 ì•„ëž˜ì˜ ìžì²´ ë‹¨ê³„ì— ìžˆì–´ì•¼ 합니다. 넥서스 ì 킨스 플러그ì¸ì€ ì „í†µì ì¸ í”„ë¦¬ ìŠ¤íƒ€ì¼ ìž‘ì—…ì„ ì§€ì›í•©ë‹ˆë‹¤. ì´ ì˜ˆì œì—서는 ì 킨스(시작!) ë‚´ì—서 ì 킨스를 ë¹Œë“œí•˜ê³ ì´ì „ 단계ì—서 로컬 Nexus ì¸ìŠ¤í„´ìŠ¤ ì„¤ì •ì— ê²Œì‹œí•©ë‹ˆë‹¤. ì‹œìž‘í•˜ë ¤ë©´ 대시보드ì—서 새 í•목 ë§í¬ë¥¼ í´ë¦í•˜ì—¬ í”„ë¦¬ìŠ¤íƒ€ì¼ í”„ë¡œì 트를 ë§Œë“니다. 프로ì 트 ì´ë¦„ì„ ì§€ì •í•˜ê³ í™•ì¸ì„ í´ë¦í•˜ì—¬ êµ¬ì„±ì„ ê³„ì†í•©ë‹ˆë‹¤. 태그 ì§€ì •ì€ Nexus 리í¬ì§€í† 리 ê´€ë¦¬ìž 3 Pro ì¸ìŠ¤í„´ìŠ¤ A 플러그ì¸ì„ 사용하여 Nexus 리í¬ì§€í† 리 관리ìžì™€ Nexus 수명 주기를 ì 킨스 ìž‘ì—…ì— í†µí•©í•˜ëŠ” 경우ì—ë§Œ ì‚¬ìš©í• ìˆ˜ 있습니다. í”ŒëŸ¬ê·¸ì¸ ì‚¬ìš©ì— ëŒ€ 한 ì •ë³´ëŠ” ì í‚¨ìŠ¤ì— ëŒ€ 한 넥서스 í”Œëž«í¼ í”ŒëŸ¬ê·¸ì¸ì—서 ì°¾ì„ ìˆ˜ 있습니다.
ì´ê²ƒì€ 소리보다 훨씬 쉽습니다. 예를 들어 Nexus REST API는 쉘 스í¬ë¦½íЏì—서 호출하여 ì›í•˜ëŠ” 아티팩트 ìˆ˜ì •ë³¸ì„ ë‹¤ìš´ë¡œë“œí• ìˆ˜ 있습니다. 예: ë‹¤ìŒ ì§€ì¹¨ì„ ì‚¬ìš©í•˜ì—¬ Jenkinsê°€ Nexus ì €ìž¥ì†Œ ê´€ë¦¬ìž 2ì— ì—°ê²°í•˜ë„ë¡ êµ¬ì„±í•©ë‹ˆë‹¤: ì í‚¨ìŠ¤ì˜ Nexus 리í¬ì§€í† 리 관리ìžëŠ” Maven 설치 ì—†ì´ ë©”ì´ë¸ 리í¬ì§€í† ë¦¬ì— ì•„í‹°íŒ©íŠ¸ë¥¼ ì—…ë¡œë“œí• ìˆ˜ 있지만 ì´ ì„¹ì…˜ì—서 ì œê³µí•˜ëŠ” ì˜ˆì œëŠ” Mavenì„ ì‚¬ìš©í•˜ì—¬ 프로ì 트ì—서 빌드합니다. ì´ëŸ¬í•œ ì˜ˆì œê°€ ìž‘ë™í•˜ë ¤ë©´ Jenkinsì—서 Maven 설치를 구성해야 합니다. 넥서스í¼ë¸”ë¦¬í¼ ë„¥ì„œìŠ¤ì¸ìŠ¤í„´ìŠ¤Id: `localNexus`, `nexusRepositoryId: `릴리즈` , 패키지: [[[$í´ëž˜ìФ: MavenPackage`, mavenAssetList: [[분류ìž: “ `, 확장ìž: “ , filePath: `ì „ìŸ/대ìƒ/ì 킨스.war`], mavenCoordinate: [아티팩트Id: `ì 킨스-ì „ìŸ`, groupId: `org.jenkins-ci.main` , í¬ìž¥: `ì „ìŸ`, ë²„ì „: `2.23]] 파ì´í”„ë¼ì¸ì€ ì 킨스 ê³µìœ ces-build-lib를 사용합니다. ê·¸ê²ƒì€ ë©”ì´ë¸ (ë¿ë§Œ ì•„ë‹ˆë¼ ë„¥ì„œìŠ¤ ì €ìž¥ì†Œ), Git ë° SonarQubeì— ëŒ€í•œ 재사용 가능한 빌딩 블ë¡ì´ í¬í•¨ë˜ì–´ 있습니다. Jenkins ê³µìœ ë¼ì´ë¸ŒëŸ¬ë¦¬ëŠ” ì¼ë°˜ ì‘ìš© 프로그램 개발ì—서 ë¼ì´ë¸ŒëŸ¬ë¦¬ë¥¼ í†µí•©í• ë•Œ ì–»ì„ ìˆ˜ 있는 것과 ë™ì¼í•œ ì´ì ì„ ì œê³µí•©ë‹ˆë‹¤. 특히 ces-build-lib는 ë©”ì´ë¸ ì„¼íŠ¸ëŸ´ì— ë°°í¬í• 때 서명 ë° ìŠ¤í…Œì´ì§•ì„ ì²˜ë¦¬í•©ë‹ˆë‹¤.
ë˜í•œ SonarCloud를 통해 ëŒì–´ì˜¤ê¸° ìš”ì²ì— 대한 주ì„ì„ ì‹œìž‘í•©ë‹ˆë‹¤. ë”°ë¼ì„œ ëŒ€ë¶€ë¶„ì˜ ë³µìž¡ì„±ì„ ì²˜ë¦¬í•©ë‹ˆë‹¤. ê²°ê³¼ 단계 아래ì—서 빌드 파ì´í”„ë¼ì¸ 스í¬ë¦½íŠ¸ì— ìƒˆ ìžë¦¬ í‘œì‹œìž Nexus 리í¬ì§€í† 리 ê´€ë¦¬ìž ê²Œì‹œ 단계를 추가합니다. 예를 들어 ì—¬ê¸°ì— í‘œì‹œë©ë‹ˆë‹¤: Jenkins를 í”„ë¡œë¹„ì €ë‹ ë„구로 ì‚¬ìš©í• ìˆ˜ 있지만 ì´ìƒì 으로는 Nexusì—서 ì§ì ‘ ë°°í¬í• 아티팩트를 ê°€ì ¸ì˜¤ëŠ” ì¼ì¢…ì˜ í”„ë¡œì„¸ìŠ¤ë¥¼ 시작해야 합니다(다른 ê²ƒì´ ë” íš¨ìœ¨ì ì¼ ê²½ìš°).