2015-09-07 15 views
11

मैं आर्टिफैक्टरी पर गिटलैब सीआई के साथ निर्मित कलाकृतियों को प्रकाशित करने के लिए एक आसान और साफ तरीका ढूंढ रहा हूं।गिटलैब सीआई से आर्टिफैक्टरी में बिल्ड कैसे प्रकाशित करें?

मैं https://gitlab.com/gitlab-org/omnibus/blob/af8af9552966348a15dc1bf488efb29a8ca27111/lib/omnibus/publishers/artifactory_publisher.rb को स्थानांतरित करने में सक्षम था लेकिन मैं इसे काम करने के लिए इसे कॉन्फ़िगर करने के तरीके के बारे में कोई दस्तावेज नहीं ढूंढ पाया।

नोट: मैं इसे बाहर से लागू करने में के रूप में नहीं, एक gitlab_ci.yaml दृष्टिकोण के लिए देख रहा हूँ।

+2

के साथ आर्टिफैक्टरी का उपयोग कैसे करें इस पर आपने कोई प्रगति की है? – user319862

उत्तर

3

एक बुनियादी स्तर पर, इस JFrog CLI उपकरणों के साथ किया जा सकता है। जब तक आप अपने .gitlab-ci.yml में विन्यास एम्बेड करने के लिए (मैं नहीं) आप पहली बार (अपने धावक पर) चलाने की आवश्यकता होगी चाहते हैं:

jfrog rt c 

यह आपके Artifactory यूआरएल और डिफ़ॉल्ट रूप से एक API कुंजी के लिए संकेत देगा। इन मदों में प्रवेश के बाद, आप ~/.jfrog/jfrog-cli.conf तो जैसे JSON युक्त मिल जाएगा:

{ 
     "artifactory": { 
     "url": "http://artifactory.localdomain:8081/artifactory/", 
     "apiKey": "AKCp2V77EgrbwK8NB8z3LdvCkeBPq2axeF3MeVK1GFYhbeN5cfaWf8xJXLKkuqTCs5obpzxzu" 
     } 
    } 

आपको यह फ़ाइल GitLab धावक के घर निर्देशिका में कॉपी कर सकते हैं - मेरे मामले में, /home/gitlab-runner/.jfrog/jfrog-cli.conf

एक बार यह हो जाता है, धावक उस कॉन्फ़िगरेशन का उपयोग कर आर्टिफैक्टरी के साथ प्रमाणित करेगा। JFrog CLI डॉक्स की जाँच - वहाँ प्रमाणीकरण के लिए अन्य संभावनाओं का एक समूह आप एपीआई कुंजी का उपयोग करने के लिए नहीं करना चाहते हैं कर रहे हैं।

पर जाने से पहले, सुनिश्चित करें कि 'jfrog' निष्पादन, एक ज्ञात स्थान में है gitlab-धावक उपयोगकर्ता के लिए अनुमतियाँ निष्पादित साथ बनाते हैं। - यहाँ से आप अपने .gitlab-ci.yml भीतर उपयोगिता कॉल कर सकते हैं कि यहाँ विरूपण साक्ष्य संस्करण के रूप में Git टैग पारित करेंगे एक node.js अनुप्रयोग के लिए एक न्यूनतम उदाहरण है:

stages: 
    - build-package 
build-package: 
    stage: build-package 
    script: 
    - npm install 
    - tar -czf test-project.tar.gz * 
    - /usr/local/bin/jfrog rt u --build-name="Test Project" --build-number="${CI_BUILD_TAG}" test-project.tar.gz test-repo 
0

मैं जानता हूँ कि यह वास्तव में आपके प्रश्न का उत्तर नहीं है, लेकिन मुझे इस प्रश्न से संबंधित खोज से मिला, इसलिए मैंने सोचा कि यह दूसरों के लिए भी प्रासंगिक हो सकता है:

मैंने mvn deploy नौकरी का उपयोग करके समाप्त किया जो कि deploy मंच के लिए गिटलैब के लिए बाध्य था।

deploy:jdk8: 
    stage: test 
    script: 
    - 'mvn $MAVEN_CLI_OPTS deploy site site:stage' 
    only: 
    - master 
    # Archive up the built documentation site. 
    artifacts: 
    paths: 
    - target/staging 
    image: maven:3.3.9-jdk-8 
2

आप Maven के साथ बना रहे हैं तो यह है कि कैसे मैं मेरा ऐसा करने में कामयाब रहे:

नोट: यदि आप अपने artifactory क्रेडेंशियल्स (की आवश्यकता है

यहाँ प्रासंगिक नौकरी भाग है उपयोगकर्ता और पास) तैयार है।

  1. एक मास्टर पासवर्ड बनाएं और इससे एन्क्रिप्टेड पासवर्ड उत्पन्न करें। मास्टरपासवर्ड बनाने के तरीके पर प्रक्रिया here

  2. गिटलैब में अपनी पाइपलाइन सेटिंग्स में, 2 गुप्त चर, एक उपयोगकर्ता नाम के लिए और दूसरा आपके एन्क्रिप्टेड पासवर्ड के लिए बनाया जा सकता है।

  3. मैवेन बिल्ड के लिए .m2 निर्देशिका में settings.xml फ़ाइल को अद्यतन या बनाएँ।आपका settings.xml इस तरह दिखना चाहिए:

    <settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
        <servers> 
        <server> 
         <id>central</id> 
         <username>${env.ARTIFACTORY_USER}</username> 
         <password>${env.ENCRYPTED_PASS}</password> 
        </server> 
        </servers> 
    </settings> 
    
  4. अपने .gitlab-ci.yml फ़ाइल में, आप इस settings.xml इस तरह उपयोग करने की आवश्यकता:

    image: maven:latest 
    
    variables: 
        MAVEN_CLI_OPTS: "-s .m2/settings.xml --batch-mode" 
        MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository" 
    
    cache: 
        paths: 
        - .m2/repository/ 
        - target/ 
    
    build: 
        stage: build 
        script: 
        - mvn $MAVEN_CLI_OPTS compile 
    

और बस इतना ही। यह काम करना चाहिए। आप here पर जा सकते हैं कि मैवेन

संबंधित मुद्दे