2017-09-19 1 views
0

Jenkins를 통해 Specflow를 사용하여 자동화 된 테스트를 실행하고 싶습니다. TFVC에 연결하는 빌드를 만들었으며 MSBuild 단계를 사용하여 Visual Studio 프로젝트를 빌드 할 수있었습니다. 테스트를 구성 할 수있게 만들었으므로 App.config 파일과 Default.srprofile 파일이 있어야합니다. Jenkins 빌드를 사용하여 이러한 파일을 편집/교체 할 수 있기를 원합니다. 지금까지 "Config File Provider Plugin"& "Text File Operations"플러그인을 빌드 단계와 함께 사용해 보았습니다. 빌드가 편집하려고 할 때마다/나는 다음과 같은 오류가이 파일을 대체 : 내가 편집하는 경우Jenkins 빌드에서 app.config 파일을 편집하거나 바꿉니다.

Creating/updating file at 'C:\Program Files (x86)\Jenkins\workspace\NAMEOFBUILD/AutomationFolder/App.config' 
File already exists at 'C:\Program Files (x86)\Jenkins\workspace\NAMEOFBUILD/AutomationFolder/App.config', selected write option is 'overWrite' 
Failed to create/update file. C:\Program Files (x86)\Jenkins\workspace\NAMEOFBUILD\AutomationFolder\App.config 
java.nio.file.AccessDeniedException: C:\Program Files (x86)\Jenkins\workspace\NAMEOFBUILD\AutomationFolder\App.config 
    at sun.nio.fs.WindowsException.translateToIOException(Unknown Source) 
    at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source) 
    at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source) 
    at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(Unknown Source) 
    at java.nio.file.spi.FileSystemProvider.newOutputStream(Unknown Source) 
    at java.nio.file.Files.newOutputStream(Unknown Source) 
    at hudson.FilePath$37.invoke(FilePath.java:1922) 
    at hudson.FilePath$37.invoke(FilePath.java:1918) 
    at hudson.FilePath.act(FilePath.java:998) 
    at hudson.FilePath.act(FilePath.java:976) 
    at hudson.FilePath.write(FilePath.java:1918) 
    at com.etas.jenkins.plugins.CreateTextFile.CreateFileTask.call(CreateFileTask.java:105) 
    at com.etas.jenkins.plugins.CreateTextFile.CreateFileTask.call(CreateFileTask.java:39) 
    at hudson.remoting.LocalChannel.call(LocalChannel.java:45) 
    at com.etas.jenkins.plugins.CreateTextFile.CreateFileBuilder.perform(CreateFileBuilder.java:95) 
    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:735) 
    at hudson.model.Build$BuildExecution.build(Build.java:206) 
    at hudson.model.Build$BuildExecution.doRun(Build.java:163) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:490) 
    at hudson.model.Run.execute(Run.java:1735) 
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 
    at hudson.model.ResourceController.execute(ResourceController.java:97) 
    at hudson.model.Executor.run(Executor.java:405) 
Build step 'Create/Update Text File' marked build as failure 

은/내 프로젝트가 작동하는 것 같다에 존재하지 않는 파일을 대체합니다. App.config 파일을 업데이트하지 않는 이유는 무엇입니까?

+0

다음은 성공적으로 파일을 App.config에서 Appconfig로 변경 한 성공적인 출력입니다. 'C : \ Program Files (x86) \ Jenkins \ workspace \ NAMEOFBUILD/AutomationFolder/Appconfig'에서 파일 작성/업데이트 파일 이미 C : \ Program Files (x86) \ Jenkins \ workspace \ NAMEOFBUILD/AutomationFolder/Appconfig '에 존재하며 선택된 쓰기 옵션이'overwrite '입니다. C : \ Program Files (x86) \ Jenkins \ workspace에서 파일이 성공적으로 작성/업데이트되었습니다. \ NAMEOFBUILD/AutomationFolder/Appconfig 완료 : SUCCESS – faisalk

답변

0

그래서 a D' oh! 순간. Jenkins는 작업 영역 폴더의 모든 파일을 읽기 전용으로 설정합니다. 파일 읽기 - 쓰기를 만들기 위해

attrib -r AutomationFolder\App.config 

다음 단계는 성공적으로 전달합니다

난 그냥 함께하기 전에 "Windows 배치 명령"단계를 추가했다.

관련 문제