2017-09-19 34 views
0

我想通過Jenkins使用Specflow運行自動化測試。 我創建了一個連接到TFVC的構建,我可以使用MSBuild步驟來構建Visual Studio項目。 我已經使測試可配置,所以有一個App.config文件和Default.srprofile文件。 我希望能夠使用Jenkins構建編輯/替換這些文件。 到目前爲止,我已經嘗試了兩個「配置文件提供程序插件」&「文本文件操作」插件與構建步驟。 每次構建試圖編輯/替換這些文件我得到以下錯誤:編輯或替換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創建/更新文件' File已在'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將工作區文件夾下的所有文件設置爲只讀。

我剛和前添加一個「Windows批處理命令」的步驟:

attrib -r AutomationFolder\App.config 

使文件讀寫,下一步則順利通過。

相關問題