Azure devops Azure Webjobs app.config发布转换
我有一个webjob和一个webapp(都是独立的项目),我想为所有环境构建一个工件,并在发布步骤中进行转换,而不是构建,因为这样我必须为每个环境创建一个工件。因此,我正在为每个环境创建两个独立的构件(一个用于webapp,一个用于webjob),并在发布到应用程序服务期间应用xml转换,现在一切正常,只是webjob的转换文件放在webapp的根目录中,这不是我想要做的。我希望将文件放置为Azure devops Azure Webjobs app.config发布转换,azure-devops,azure-web-app-service,azure-webjobs,azure-pipelines,azure-pipelines-release-pipeline,Azure Devops,Azure Web App Service,Azure Webjobs,Azure Pipelines,Azure Pipelines Release Pipeline,我有一个webjob和一个webapp(都是独立的项目),我想为所有环境构建一个工件,并在发布步骤中进行转换,而不是构建,因为这样我必须为每个环境创建一个工件。因此,我正在为每个环境创建两个独立的构件(一个用于webapp,一个用于webjob),并在发布到应用程序服务期间应用xml转换,现在一切正常,只是webjob的转换文件放在webapp的根目录中,这不是我想要做的。我希望将文件放置为app\u data\jobs\continuous\myjob\myjob.exe.config 我见过
app\u data\jobs\continuous\myjob\myjob.exe.config
我见过缓慢的cheeta和CTT转换,但它们超出了这个问题的范围,因为它们只在构建时进行转换
您应该在构建期间进行转换,并且您的转换应该作为构建中的标记而不是实际的目标值进行。然后在部署中,您可以用实际的目标环境值替换令牌值。这是打包和部署任何应用程序类型的正确方法 步骤应该是
。但是它也适用于webjobs(已经测试过),这是一个合适的解决方案。您可以使用Kudu api来运行复制或删除文件的命令
有关如何在构建/松弛期间调用kudu api的更多信息,请参阅:只有将webjob项目添加到网站,然后从该网站创建工件时,此方法才有效。但我们希望将网站和webjob保留在单独的应用程序服务计划中,以提高我们的应用程序弹性,这样当webjob需要更多资源时,它就不会对webapp造成瓶颈。