2017-09-28 10 views
1

npmレジストリをArtifactoryにプッシュするときにビルド情報を公開するにはどうすればよいですか?npm .tgzをArtifactoryにプッシュするときにビルド情報を公開することはできますか?

私は現在、私はちょうどnpm publish

を使用していますthese steps

def rtMaven = Artifactory.newMavenBuild() 

def buildInfo = rtMaven.run pom: 'maven-example/pom.xml', goals: 'clean install' 

を使用してのMavenでそれを行うことができますしかし、私は私のTGZファイルのための情報をビルドしたいと思います。出来ますか?

ありがとうございます!

+1

でビルドANSアーティファクトを持っています。この方法では、公開されたパッケージのビルド情報を生成することができます。同じリンクの詳細を参照してください。 –

答えて

0

ここでは単純なビルドを行うサンプルパイプラインコードです。 このスクリプトの唯一の3つは、依存関係の情報をどのように埋め込むかを理解できないことです。

node { 
    stage('Cleaning') { 
     deleteDir() 
    } 
    stage('Preparing') { // for display purposes 
     // Get some code from Git 
     git credentialsId: 'MyGitCredential', url: 'http://gitRepourl/MyGitProject.git' 
    } 
    stage('Fetch Dependencies') { 
     // Run the node build 
     nodejs(nodeJSInstallationName: 'MyNode', configId: 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa') { 
     sh 'npm install' 
     } 
    } 
    stage('Build') { 
     // Run the node build        
     nodejs(nodeJSInstallationName: 'MyNode', configId: 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa') { 
     sh 'npm pack' 
     } 
    } 
    stage('Test') { 
     // Run the node build 
     nodejs(nodeJSInstallationName: 'MyNode', configId: 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa') { 
     sh 'npm run test' 
     } 
    } 
    stage('Results') { 
     junit 'test-results.xml' // need to setup karma junit reporter 
     archive 'myArtefact-*.tgz' 
    } 
    stage('Artifactory') { 
     def uploadSpec = """{ 
      "files": [ 
      { 
       "pattern": "myArtefact-*.tgz", 
       "target": "artifactory-npm-repo/myArtefact/" 
      } 
     ] 
     }""" 
     def server = Artifactory.server 'MyArtifactory' 
     def buildInfo = server.upload(uploadSpec) 
     buildInfo.retention maxBuilds: 2 
     server.publishBuildInfo(buildInfo) 
    } 
} 

しかし、これで、あなたはあなたが公開代わりにNPMの、ファイルの仕様を使用して、NPMパッケージを公開することができartifactory

関連する問題