Jenkins发布.Net Core项目去除wwwroot文件夹只读属性
公司内部开发项目的时候,使用Jenkins自动部署,但最近开发了.Net Core的新项目,在使用Jenkins自动部署的时候,出了点问题。
具体原因出在.Net Core使用了NodeJS,npm命令引用了webpack来打包程序,它会操作wwwroot/dist
文件夹下的压缩文件,但是Jenkins调用MSBuild来执行生成命令时,每次都会更新wwwroot/dist文件夹内的文件属性成为只读。而npm命令要读取该文件夹里的文件,有写入的操作,然后Jenkins就会报错operation not permitted
。
针对这种情况,其实只需要在Jenkins调用MSBuild的时候,在执行node webpack.js --env.prod
命令前将wwwroot/dist
文件夹内的文件去除只读属性即可。
解决方案
修改.csproj
文件
1 | <Exec Command="npm install" /> |