2017-09-27 21 views
0

私は、ARTIFACT_ID、GROUP_ID、APP_VERSIONの3つのパラメータを含むJenkinsジョブを持っています。これらの3つのパラメータを使用して、Nexusから特定のjarファイルをダウンロードします。Jenkinsを使ってnexusからjarファイルを取得するには?

Nexus URLはJenkinsの設定で提供されるため、検索する場所を自動的に認識します。

これを行う方法がありますか?

たとえば、Pythonアプリケーションの場合、私はpip download --no-deps ARTIFACT_ID==APP_VERSIONを使用し、正常に動作します。

+0

ネクサス3は、PyPIをサポートしていますか? – khmarbaise

答えて

1

curlとxmllintを使用してシェルスクリプトを使用して、Nexus APIにアクセスしてアーティファクトをダウンロードすることができます。ここで

私はネクサスからアーティファクトを取得する方法の例:

NEXUS_BASE_URL=https://nexus.example.com 
REPOSITORY="reponame" 
GROUP_ID="groupid" 
ARTIFACT_ID="artifact_id" 
LOCAL_FILE="destination.jar" 

NEXUS_RESOLVE_URL="${NEXUS_BASE_URL}artifact/maven/resolve?g=${GROUP_ID}a=${ARTIFACT_ID}&r=${REPOSITORY}&v=${VERSION}" 
REPOSITORY_LOCAL_PATH=`curl -s "${NEXUS_RESOLVE_URL}" | xmllint --xpath "//artifact-resolution/data/repositoryPath/text()" -` 
ARTIFACT_DOWNLOAD_URL="${NEXUS_BASE_URL}repositories/${REPOSITORY}/content${REPOSITORY_LOCAL_PATH}" 
curl -o "${LOCAL_FILE}" "${ARTIFACT_DOWNLOAD_URL}" 
atrifactsの解決に関する

さらなる情報はネクサスAPIリファレンスに記載されています https://repository.sonatype.org/nexus-restlet1x-plugin/default/docs/path__artifact_maven_resolve.html

関連する問題