首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >当将管道拆分为构建和发布时,WebJob不起作用

当将管道拆分为构建和发布时,WebJob不起作用
EN

Stack Overflow用户
提问于 2020-10-02 08:53:27
回答 2查看 439关注 0票数 0

我正在尝试使用Azure DevOps部署一个WebJob。我有以下管道:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pool:

#  name: Hosted Windows 2019 with VS2019
  vmImage: windows-2019

  demands:
  - msbuild
  - visualstudio
  - vstest

variables:
    BuildPlatform: 'any cpu'
    BuildConfiguration: 'release'
    Parameters.solution: '**\*.sln'

steps:

- task: UseDotNet@2
  displayName: 'Use Net Core 3.1.0'
  inputs:
#    packageType: 'runtime' # Options: runtime, sdk
    packageType: 'sdk'
    version: '3.1.100'

- task: NuGetToolInstaller@1
  displayName: 'Use NuGet 5.7.0'
  inputs:
    versionSpec: 5.7.0

- task: NuGetCommand@2
  displayName: 'NuGet restore'
  inputs:
    restoreSolution: '$(Parameters.solution)'

- task: DotNetCoreCLI@2
  displayName: 'net build'
  inputs:
    command: 'build'
    projects: '**\*.csproj'
    arguments: '--configuration Release'

- task: DotNetCoreCLI@2
  displayName: 'net publish'
  inputs:
    command: 'publish'
    publishWebProjects: false
    projects: '**\*.csproj'
    arguments: '--output $(Build.ArtifactStagingDirectory)\WebJob\App_Data\jobs\continuous\WJ_Channel_Fetch'
    zipAfterPublish: false
    modifyOutputPath: false

- task: PowerShell@2
  inputs:
    targetType: 'inline'
    script: '"dotnet WJ_Channel_Fetch.dll" | Out-File run.cmd -Encoding ASCII; $LASTEXITCODE'
    errorActionPreference: 'stop'
    failOnStderr: false
    ignoreLASTEXITCODE: false
    pwsh: false
    workingDirectory: '$(Build.ArtifactStagingDirectory)\WebJob\App_Data\jobs\continuous\WJ_Channel_Fetch'

- task: AzureAppServiceManage@0
  displayName: 'Stop Azure App Service: XXXX-pipelines2'
  inputs:
    azureSubscription: 'Visual Studio Professional (**********)'
    Action: 'Stop Azure App Service'
    WebAppName: 'XXXX-pipelines2'

- task: AzureRmWebAppDeployment@3
  displayName: 'Azure App Service Deploy: XXXX-pipelines2'
  inputs:
    azureSubscription: 'Visual Studio Professional (**********)'
    WebAppName: 'XXXX-pipelines2'
    Package: '$(Build.ArtifactStagingDirectory)\WebJob'
    TakeAppOfflineFlag: true

- task: AzureAppServiceManage@0
  displayName: 'Start Azure App Service: XXXX-pipelines2'
  inputs:
    azureSubscription: 'Visual Studio Professional (**********)'
    Action: 'Start Azure App Service'
    WebAppName: 'XXXX-pipelines2'

- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact: drop'
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'drop'
    publishLocation: 'Container'
  condition: succeededOrFailed()

这很好,但我想将部署部分移到发布管道上,这样我就可以利用环境之间的批准(DEV、QA、测试、PROD)。

问题是,当我将它移动到发布管道时,会部署WebJob,但它似乎处于不一致的状态。我不能停止它,也不能删除它;摆脱它的唯一方法是删除WebApp。如果我只使用上面的YAML就行了。

这是我的发布管道:

有什么想法吗?事先非常感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-03 07:41:06

通过将Azure difference部署任务降级到版本3。*解决了这个问题,这也是我的YAML文件与我使用GUI创建的发布管道之间的区别。

我仍然认为它应该与最新的版本一起工作,但就目前而言,我是开放的。

票数 1
EN

Stack Overflow用户

发布于 2020-10-02 10:21:47

这有很多部分,因为您的解决方案已经在YAML中工作,并且您只需要得到批准,所以使用YAML也可以很容易地实现这一点。

您可以利用Azure DevOps的环境特性。在“环境”部分中,您可以按以下方式添加审批

选择各自的环境(您可以根据YAML手动创建该环境)

以上就是解决方案之一。如果这有用的话请告诉我。另一种解决方案是使用释放管道下的部署方法。

在这种情况下,您需要分别部署web作业和实际代码。

wwwroot>>app_data>>job

  • then下的
  1. 首先部署web作业,将剩余的代码(如果与应用程序代码一起部署)部署到www.root

一旦您需要在中手动添加web作业,它将直接与部署一起工作。在我的环境中,我也在做类似的事情,而且工作也很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64175425

复制
相关文章
FastJson中@JSONField注解使用FastJson中@JSONField注解使用
如果json格式数据不符合Java中的标准驼峰式变量定义规则,并且难以理解,这个时候就需要在后台中做二次处理,将数据处理成我们系统中定义的格式。
一个会写诗的程序员
2018/08/17
1.4K0
30.scala的注解
注解将元信息与定义相关联。例如,方法之前的注解 @deprecated 会导致编译器在该方法被使用时打印警告信息。
Spark学习技巧
2020/06/01
4670
Mockito入门:如何在Spring中Mock部分对象
随着分布式应用的开发逐渐成为标配,多个微服务团队合作来完成垂直业务的开发成为了一种常态。微服务使得团队可以专注于自己的业务逻辑,在和下游依赖和上游对接的团队聚焦好接口之后,就进入正式的开发。但是,每个团队的开发节奏往往不同,下游依赖所提供的服务有些时候不能在自测的时候提供稳定的服务。不仅是多个团队,单个团队中每个人所负责的模块之间也会存在依赖关系,也就同样存在这样的问题。
眯眯眼的猫头鹰
2019/09/30
11.1K0
如何在phpunit中mock一个单例类
Mock简介 当我们对A类进行单元测试时,A类可能依赖了B类,为了减少依赖,方便A类方法的测试,我们可以模拟一个B类,简单规定其各方法的返回值(而非真正实现具体逻辑)。 Phpunit中提供了一套模拟类的api,简单使用如下:
跑马溜溜的球
2020/12/07
1.8K0
Scala中的Map使用例子
Map结构是一种非常常见的结构,在各种程序语言都有对应的api,由于Spark的底层语言是Scala,所以有必要来了解下Scala中的Map使用方法。 (1)不可变Map 特点: api不太丰富 如果是var修饰,引用可变,支持读写 如果是val修饰,引用不可变,只能写入一次值,其后只读 var a:Map[String,Int]=Map("k1"->1,"k2"->2)//初始化构造函数 a += ("k3"->3)//添加元素 a += ("k4"->4)//添加元素 a +=
我是攻城师
2018/05/14
3.2K0
如何在phpunit中mock(模拟)一个单例类
Mock简介 当我们对A类进行单元测试时,A类可能依赖了B类,为了减少依赖,方便A类方法的测试,我们可以模拟一个B类,简单规定其各方法的返回值(而非真正实现具体逻辑)。Phpunit中提供了一套模拟类的api,简单使用如下:
跑马溜溜的球
2020/12/07
3.1K0
【说站】python中mock的断言使用
以上就是python中mock的断言使用,希望对大家有所帮助。更多Python学习指路:python基础教程
很酷的站长
2022/11/23
5340
FastJson中@JSONField注解使用
最近做项目中,使用了json格式在服务器之间进行数据传输。但是发现json格式数据不符合JAVA中的变量定义规则,并且难以理解,因此需要在后台中做二次处理,将数据处理成我们系统中定义的格式。
全栈程序员站长
2022/11/01
1.2K0
SpringBoot中Configure注解和Bean注解的使用
  Configure不加参数,仅声明为配置类,加了参数代表该类为实例,实例名称为参数名
用户2603479
2018/08/15
1.9K0
Scala使用
Scala是一门主要以Java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程语言的最佳特性综合在一起的编程语言。你可以使用Scala编写出更加精简的程序,同时充分利用并发的威力。由于Scala默认运行于JVM之上,因此 它可以访问任何Java类库并且与Java框架进行互操作,比如Scala可以被编译成JavaScript代码,让我们更便捷、高效地开发Web应用。
俺也想起舞
2019/07/24
6140
[249]python mock基本使用
mock在翻译过来有模拟的意思。这里要介绍的mock是辅助单元测试的一个模块。它允许您用模拟对象替换您的系统的部分,并对它们已使用的方式进行断言。
周小董
2022/04/12
4870
【Scala篇】--Scala中的函数
Scala中的函数还是比较重要的,所以本文章把Scala中可能用到的函数列举如下,并做详细说明。
LhWorld哥陪你聊算法
2018/09/13
1.5K0
【Scala篇】--Scala中的函数
使用 Spring 中的 @Lazy 注解
只有一个参数,默认是true,也就是说只要加了这个注解就会延迟加载。 @Lazy注解则必须在第一次调用的时候才会加载。 @Lazy注解注解的作用主要是减少springIOC容器启动的加载时间。
一个会写诗的程序员
2021/03/02
1.9K0
lombok中@EqualsAndHashCode注解的使用
根据姓名查找,会从数据库中返回多条名字相同的数据,那么我们需要使用身份证号去判断名字相同的多个对象是否为同一个人,哪么只需要使用身份证号码判断即可。
关忆北.
2021/12/07
8270
dotnet 如何在 Mock 模拟 Func 判断调用次数
在 dotnet 程序有很好用的 Mock 框架,可以用来模拟各种接口和抽象类,可以用来测试某个注入接口的被调用次数和被调用时传入参数。本文告诉大家如何在 Mock 里面模拟一个 Func 同时模拟返回对象,获取调用次数
林德熙
2019/06/15
1.3K0
Jest中Mock网络请求
最近需要将一个比较老的库修改为TS并进行单元测试,修改为TS还能会一点,单元测试纯粹是现学现卖了,初学Jest框架,觉得在单元测试中比较麻烦的就是测试网络请求,所以记录一下Mock掉Axios发起网络请求的一些方式。初学两天的小白,如有问题还请指出。
冬夜先生
2021/09/13
2.6K0
如何在Scala中读取Hadoop集群上的gz压缩文件
存在Hadoop集群上的文件,大部分都会经过压缩,如果是压缩后的文件,我们直接在应用程序中如何读取里面的数据?答案是肯定的,但是比普通的文本读取要稍微复杂一点,需要使用到Hadoop的压缩工具类支持,比如处理gz,snappy,lzo,bz压缩的,前提是首先我们的Hadoop集群得支持上面提到的各种压缩文件。 本次就给出一个读取gz压缩文件的例子核心代码: 压缩和解压模块用的工具包是apache-commons下面的类: import org.apache.commons.io.IOUtils impor
我是攻城师
2018/05/14
2.7K0
dotnet 如何在 Mock 模拟 Func 判断调用次数
在 dotnet 程序有很好用的 Mock 框架,可以用来模拟各种接口和抽象类,可以用来测试某个注入接口的被调用次数和被调用时传入参数。本文告诉大家如何在 Mock 里面模拟一个 Func 同时模拟返回对象,获取调用次数
林德熙
2022/08/07
8410
Springboot中使用Scala开发使用SB與Scala
https://github.com/LightSwordSpringBoot/lightsword
一个会写诗的程序员
2018/08/20
1.1K0
点击加载更多

相似问题

Scala注解继承

23

Scala中的复杂注解

11

如何在scala中使用包含@JoinColumn的注解@JoinTable

10

scala中的Singleton模式,支持轻松使用mock

23

Scala中的嵌套注解列表

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文