我有一个.NET Core项目,它在Appveyor中自动构建并部署到Nuget。默认情况下,每个成功的构建都会导致新的Nuget版本。
但是,有很多情况下新版本没有意义,因为库的实际代码没有改变:
可以配置构建,以便Nuget发布仅在实际代码中发生更改时运行(例如,在文件夹X
中)?
答案 0 :(得分:1)
有几个选择。
Commit filtering。请注意,如果文件夹x
中没有任何内容发生更改,则会跳过整个构建,而不仅仅是部署。至少在添加单元测试时,您可能需要无需部署的构建。作为一种解决方法,请考虑添加单独的AppVeyor项目,该项目仅在文件夹x
发生更改时才构建和部署,并且每次都要构建当前项目,而不是部署
使用脚本检查已更改的文件。如果您使用GitHub,请检查this sample如何检查这些文件。因此,如果您发现文件夹x
中的文件发生了变化,您可以将一些自定义环境变量(假设您称之为deploy_nuget
)设置为true
,并将其与{{3}一起使用}。