在Jenkins build

时间:2017-09-19 15:31:31

标签: visual-studio jenkins msbuild

我想通过Jenkins使用Specflow运行自动化测试。 我创建了一个连接到TFVC的构建,我可以使用MSBuild步骤来构建Visual Studio项目。 我已经使测试可配置,因此有一个App.config文件和Default.srprofile文件。 我希望能够使用Jenkins构建编辑/替换这些文件。 到目前为止,我已经尝试过"配置文件提供程序插件" &安培; "文本文件操作"插件与构建步骤。 每次构建尝试编辑/替换这些文件时,我都会收到以下错误:

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文件?

1 个答案:

答案 0 :(得分:1)

那么 D'哦!时刻。 Jenkins将工作区文件夹下的所有文件设置为只读。

我之前添加了一个“Windows批处理命令”步骤:

attrib -r AutomationFolder\App.config

使文件成为读写,然后下一步成功通过。