2016-07-22 2 views
1

Maven 프로젝트를 체크 아웃하고 빌드하고 쉘 스크립트를 실행하여 Artifactory에 배포 할 수있는 Jenkins (버전 2.6) DSL을 작성하고 있습니다. 내가 stepssteps{} 블록이 mavenJob에서 허용되지 않습니다 제거하면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) 
    } 
    } 
} 

작업에만 작동합니다. freeStyleJob을 사용해 보았지만 ArtifactoryRedeployPublisher이 작동하지 않습니다.

셸 스크립트를 실행하려면 어떻게해야합니까?

답변

1

당신이 쉘 스크립트 앞서 받는다는 목표의 실행하려는 경우, 당신은 당신이 받는다는 목표 후에 실행 쉘 스크립트를 원하는 경우이

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

또는이 하나

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

를 확인할 수 있습니다.

브롬,

관련 문제