2016-07-22 21 views
1

Mavenプロジェクトをチェックアウトしてビルドし、シェルスクリプトを実行してArtifactoryにデプロイできるJenkins(バージョン2.6)DSLを書いています。Jenkins DSLでシェルスクリプトを実行するmavenJob

mavenJob("test-build") { 
    multiscm { 
    ... 
    } 
    steps { 
    shell ("bash build-scripts/script.sh") 
    } 
    goals("clean install") 
    configure{ project -> 
    project/publishers << 'org.jfrog.hudson.ArtifactoryRedeployPublisher' { 
    details { 
     artifactoryUrl('<url>') 
     artifactoryName('<name>') 
     repositoryKey('libs-release-local') 
     snapshotsRepositoryKey('libs-snapshot-local') 
    } 
    deployBuildInfo(true) 
    deployArtifacts(true) 
    evenIfUnstable(false) 
    } 
    publishers { 
    archiveJunit('target/*/.xml') 
    publishBuilder { 
     discardOldBuilds(7,10) 
    } 
    } 
} 

stepsmavenJobで許可されていないとして、私はsteps{}ブロックを削除した場合、ジョブがのみ動作します。私はfreeStyleJobを使ってみましたが、ArtifactoryRedeployPublisherは動作しません。

シェルスクリプトを実行するには何が必要ですか?

答えて

1

シェルスクリプトが先にMavenのゴールの実行させたい場合は、この

preBuildSteps { 
// Runs a shell script. 
shell(String command) 
} 

それとも、Mavenのゴールの後に実行するシェルスクリプトをしたい場合、あなたはこの1

mavenJob('example-1') { 
postBuildSteps { 
    shell("echo 'run after Maven'") 
} 
} 
を使用することができますを使用することができます詳細については

、あなたが仕事のDSL APIビューア https://jenkinsci.github.io/job-dsl-plugin/#method/javaposse.jobdsl.dsl.jobs.MavenJob.postBuildSteps

を確認することができますそれは非常に簡単で便利なツールです。

Brで、

ティム

関連する問題