2016-10-15 6 views
0

내 회사에서 Gitlab을 가져오고, MSBuild를 실행하고, 디렉토리에 아티팩트를 게시 한 다음 모든 아티팩트를 압축하여 저장소 나 파일 공유로 푸시하는 Jenkins 파이프 라인을 구축하려고합니다. 응용 프로그램은 웹 응용 프로그램입니다.젠킨스 파이프 라인 그루비 MSBuild 인공물

AntBuilder에서 zip 함수를 구현하려고하면 내 문제가 발생합니다. 내 basedir에 대해 무엇을 지정했는지에 상관없이 작업은 디렉토리를 찾을 수 없다는 메시지를 표시하지 못합니다. 내 코드는 다음과 같습니다.

#!groovy​ 

node('dotnet') { //select any node with a doctnet label 
    stage('Checkout') { //checkout the code from source 
     checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], gitTool: 'Windows_Gtt', submoduleCfg: [], userRemoteConfigs: [[credentialsId: '99999999-9999-9999-99999', url:  '[email protected]:api/sharedservices.git']]]) 
    } 
    stage('Build') { //build steps go here 
     bat 'nuget restore LandingPageSvc.sln' //restore nuget sources 
     bat "\"${tool 'MSBUILD46_64_Pipeline'}\" LandingPageSvc.sln /m /p:VisualStudioVersion=14.0" //msbuild 
    } 
    // stage('NUnit Tests') { //Unit testing steps go here 
    //  bat '"C:\\Program Files (x86)\\NUnit.org\\nunit-console\\nunit3-console.exe" ./LandingPageSvc.Test/bin/Debug/LandingPageSvc.Tests.dll --result nunit-result.xml' 
    // } 
    stage('Packaging') { 
     bat "\"${tool 'MSBUILD46_64_Pipeline'}\" LandingPageSvc\\LandingPageSvc.csproj /m /p:VisualStudioVersion=14.0;Configuration=Debug;PublishDestination=..\\Publish\\Dev /t:PublishToFileSystem" 
     def ant = new AntBuilder() 
     ant.zip(destfile: "test.zip", basedir: "./Publish/Dev") 
    } 
    stage('Publish') { 
     // build nuget package 
     //push nuget pcakage to artifactory 

    } 
} 

그래서, 다른 모든 것들은 DOTNET 빌드 에이전트 잘에 작업 영역에 해결하고 난 경로에 ${WORKSPACE}를 사용하여 시도하고 그것은 여전히 ​​뿌려줍니다.

이 특정 기능이 실행되는 이유 또는 컨텍스트가 확실하지 않지만 dotnet 빌드 에이전트 나 프로젝트 작업 영역에 나타나지 않습니다.

의견을 보내주세요.

답변

0

두 개의 다른 파일 위치를 참조 할 수 있습니까? 하나는 .. \ Publish \ Dev를 사용하고 다른 하나는 ./Publish/Dev를 사용합니다. 내가 생각하기에 "." ".."는 두 개의 서로 다른 파일 위치로 해석됩니다. ".."는 폴더의 부모 폴더를 가리키는 반면 "." 당신이있는 폴더를 의미합니다.

젠킨스/ProjectBasedir/게시/데브 (.) 젠킨스/게시/데브 (..)

관련 문제