मेरे पास एक जेनकींस नौकरी है जो एक एनपीएम पैकेज को एक निजी एडब्ल्यूएस कोड-आर्टिफैक्ट रेपो में धक्का देने की कोशिश कर रही है।

यह मेरी मशीन पर स्थानीय रूप से काम करता है हालांकि जेनकींस के माध्यम से चलाने पर यह त्रुटियां समाप्त हो जाती हैं। जेनकींस सेटअप एक कंटेनर को दास के रूप में चलाने के लिए है जिसमें नोड स्थापित है। यह एकमात्र अंतर है जिसे मैं अपने लैपटॉप से ​​​​देख सकता हूं।

यहाँ बिल्ड लॉग है: https://pastebin.com/fENQSG9w

+ cat -A /home/jenkins/.npmrc
registry=https://myorg-awsAccNo.d.codeartifact.us-east-1.amazonaws.com/npm/myrepo/$
//myorg-awsAccNo.d.codeartifact.us-east-1.amazonaws.com/npm/myrepo/:always-auth=true$
//myorg-awsAccNo.d.codeartifact.us-east-1.amazonaws.com/npm/myrepo/:_authToken=eyJ2ZXIiXXXXXXXXXxx2h99mC5RQp4El-0g$
+ cat -A .npmrc
cat: .npmrc: No such file or directory

मैं देखता हूं कि लॉगिन करने के लिए aws cli काम करता है, यह उपयोगकर्ता स्तर पर .npmrc को ऑथ टोकन के साथ भी सेट करता है। हालांकि जब कलाकृतियों को प्रकाशित करने की बात आती है तो यह https://registry.npmjs पर जाता है। org/@myscope%2ftest-poc-package और npm कोड-आर्टिफैक्ट स्थान नहीं।

गुलाम कंटेनर के अंदर npm संस्करण है: 6.14.11

मैंने जेनकिंस जॉब में यूजर होम और प्रोजेक्ट होम के साथ-साथ एनपीएम डीबग लॉग के अंदर .npmrc को सूचीबद्ध करने के लिए कदम जोड़े हैं और इनमें से कोई भी सामान्य से कुछ भी इंगित नहीं करता है।

0
Yogesh_D 10 मार्च 2021, 19:42

1 उत्तर

सबसे बढ़िया उत्तर

मैं इसे अपने सेटअप में काम नहीं कर सका। आखिरकार मेरी जेनकींस फाइल में ऐसा करना समाप्त हो गया। एनवी सेक्शन में आर्टिफैक्ट ऑथ टोकन प्राप्त करें:

environment {
        CODEARTIFACT_AUTH_TOKEN = sh(script: "aws codeartifact get-authorization-token --duration-seconds 0 --domain mydomain --domain-owner xxxxxxxx --query authorizationToken --output text --endpoint-url https://vpce-xxxxxxx-xxxxxxx.api.codeartifact.us-east-1.vpce.amazonaws.com" , returnStdout: true).trim()
    }

और फिर इसे बिल्ड स्टेप्स के एक भाग के रूप में जोड़ना

stage('Build and Publish'){
  steps{
        sh '''
            npm config set registry 'https://mydomain-xxxxxxxxx.d.codeartifact.us-east-1.amazonaws.com/npm/myrepo/'
            npm config set '//mydomain-xxxxxxxxx.d.codeartifact.us-east-1.amazonaws.com/npm/myrepo/:always-auth' 'true'
            npm config set '//mydomain-xxxxxxxxx.d.codeartifact.us-east-1.amazonaws.com/npm/myrepo/:_authToken' '${CODEARTIFACT_AUTH_TOKEN}'
        '''
        sh  'npm run build'
        sh  'npm publish'
      }
  }

इससे रेपो और उसके टोकन को सेटअप करने में मदद मिली और मैं रेपो के रूप में एडब्ल्यूएस कोडआर्टिफैक्ट का उपयोग करने के लिए एनपीएम प्राप्त करने में सक्षम था।

0
Yogesh_D 16 मार्च 2021, 09:45