簡體   English   中英

Jenkins Artifactory插件

[英]Jenkins Artifactory Plugin

Jenkins Artifactory插件可以在docker-in-docker中運行嗎? 我想在下面提供的管道構建中與Jenkins Kubernetes插件一起使用此插件。

示例管道創建一個Pod,該Pod首先使用git容器克隆給定的project-examples存儲庫,然后使用maven容器構建項目。

我懷疑我遇到了這個問題,只是想再次檢查是否仍然如此。 執行時,Artifactory插件在Pod中而不是maven容器中搜索資源,例如MAVEN_HOME。 無法找到插件失敗的資源。

def label = "worker-${UUID.randomUUID().toString()}"

podTemplate(label: label, containers: [
  containerTemplate(name: 'maven', image: 'maven:3.3.9-jdk-8-alpine', ttyEnabled: true, command: 'cat'),
  containerTemplate(name: 'git', image: 'alpine/git', command: 'cat', ttyEnabled: true)
]) {
  node(label) {

container('maven') {
    def server
    def buildInfo
    def rtMaven


    stage ('Clone') {
        git url: 'https://github.com/jfrogdev/project-examples.git'
    }

    stage ('Test a Maven project') {           
            server = Artifactory.server 'private-artifactory'
            rtMaven = Artifactory.newMavenBuild()
            rtMaven.tool = 'maven'
            rtMaven.run pom: 'maven-example/pom.xml', goals: 'clean build', buildInfo: buildInfo
            buildInfo = Artifactory.newBuildInfo()
    }
}

我遇到了同樣的問題,並嘗試在配置與Maven安裝的連接上進行各種更改。

似乎可以完成在docker映像中安裝的maven安裝的最終配置如下:

stage("build") {
   def server=Artifactory.server('My art')
   def rtMaven=Artifactory.newMavenBuild()
   rtMaven.resolver server: server, releaseRepo: 'libs-release', snapshotRepo: 'libs-snapshot'
   rtMaven.deployer server: server, releaseRepo: 'libs-release-local', snapshotRepo: 'libs-snapshot-local'
   env.MAVEN_HOME="/usr/share/maven"
   def buildInfo = rtMaven.run pom: 'sub-dir/pom.xml', goals: 'clean install'
   server.publishBuildInfo buildInfo         
}

使用env.MAVEN_HOME而不是依賴工具配置似乎可以工作。 記住將其放置在rtMave.run之前。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM