Azure管道如何在脚本等待用户输入时检测管道何时停止 [英] Azure pipeline how detect when pipeline stoped when script waiting for user input

查看:101
本文介绍了Azure管道如何在脚本等待用户输入时检测管道何时停止的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个正在执行脚本的管道,其中一些是3第三方脚本. 在这种情况下是Fastlane脚本.
现在在极少数情况下,Fastlane脚本期望用户输入值以输入标准输入.我的问题是如何检测何时停止脚本并等待输入.在这种情况下,我想抛出一个错误并使任务失败.
这是管道任务:

I have a pipeline that is executing scripts and some of them are 3third party scripts. in this case is Fastlane script.
Now in some rare cases, the Fastlane script is expecting the user to input value to stdin my question is how can I detect when a script is stoped and waiting to input. in this case, I like to throw an error and fail the task.
this is the pipeline task :

 - script:  |
     fastlane release --verbose projectName:${{parameters.projectName}} 
     echo 'Done invoking Fastfile'
    #failOnStderr: false 
    workingDirectory: '$(System.ArtifactsDirectory)/ios_artifacts'
    displayName: 'run fastlane'

它在此空闲状态下堆叠:

And it stack in this idle state :

2020-10-12T06:46:27.5309820Z INFO [2020-10-12 06:46:27.52]: [32m------------------[0m
2020-10-12T06:46:27.5310570Z INFO [2020-10-12 06:46:27.53]: [32m--- Step: sigh ---[0m
2020-10-12T06:46:27.5311280Z INFO [2020-10-12 06:46:27.53]: [32m------------------[0m
2020-10-12T06:46:27.5362760Z 
2020-10-12T06:46:27.5386680Z +-------------------------------------+------------------------------+
2020-10-12T06:46:27.5387580Z |                      [32mSummary for sigh 2.162.0[0m                      |
2020-10-12T06:46:27.5388330Z +-------------------------------------+------------------------------+
2020-10-12T06:46:27.5389160Z | username                            | xxxx@xxxx.com       |
2020-10-12T06:46:27.5389530Z | app_identifier                      | com.xxxx.xxxx |
2020-10-12T06:46:27.5389950Z | team_id                             | xxxx                   |
2020-10-12T06:46:27.5390320Z | adhoc                               | false                        |
2020-10-12T06:46:27.5390730Z | developer_id                        | false                        |
2020-10-12T06:46:27.5391490Z | development                         | false                        |
2020-10-12T06:46:27.5391860Z | skip_install                        | false                        |
2020-10-12T06:46:27.5392280Z | force                               | false                        |
2020-10-12T06:46:27.5392650Z | ignore_profiles_with_different_name | false                        |
2020-10-12T06:46:27.5393070Z | skip_fetch_profiles                 | false                        |
2020-10-12T06:46:27.5393450Z | skip_certificate_verification       | false                        |
2020-10-12T06:46:27.5393860Z | platform                            | ios                          |
2020-10-12T06:46:27.5394230Z | readonly                            | false                        |
2020-10-12T06:46:27.5394630Z | fail_on_name_taken                  | false                        |
2020-10-12T06:46:27.5395400Z +-------------------------------------+------------------------------+
2020-10-12T06:46:27.5395640Z 
2020-10-12T06:46:27.5396350Z INFO [2020-10-12 06:46:27.53]: Starting login with user 'xxxx@xxxx.com'
2020-10-12T06:46:27.5559840Z Reading keychain entry, because either user or password were empty
2020-10-12T06:46:27.5560420Z Loading session from environment variable
2020-10-12T06:46:27.7305500Z Session loaded from environment variable is not valid. Continuing with normal login.
2020-10-12T06:46:28.7278420Z Two-factor Authentication (6 digits code) is enabled for account 'xxxx@xxxx.com'
2020-10-12T06:46:28.7279570Z More information about Two-factor Authentication: https://support.apple.com/en-us/HT204915
2020-10-12T06:46:28.7279880Z 
2020-10-12T06:46:28.7280520Z If you're running this in a non-interactive session (e.g. server or CI)
2020-10-12T06:46:28.7281300Z check out https://github.com/fastlane/fastlane/tree/master/spaceship#2-step-verification

我如何监视此状态?并失败了管道?

How can i monitor this state ? and fail the pipeline ?

推荐答案

我如何监视此状态?并失败了管道?

How can i monitor this state ? and fail the pipeline ?

据我所知,这是不可能的.当前,azure devops管道不提供可以检测脚本等待输入并使管道失败的内置功能.这应该是

As far as I know, this could not be possible. Currently, the azure devops pipeline does not provide such a built-in feature that can detect the script waiting for input and fail the pipeline. It should be an easy way to set the timeout you want for the task timeoutInMinutes: number # how long to wait before timing out the task to make it fail based on timeout, but it seems you don't want this.

您可以在我们的 UserVoice 网站,这是我们提供产品建议的主要论坛.提出建议后,您可以对此反馈进行投票并添加评论.如果产品小组查看了更新,则会提供更新.

You could add your request for this feature on our UserVoice site, which is our main forum for product suggestions. After suggest raised, you can vote and add your comments for this feedback. The product team would provide the updates if they view it.

这篇关于Azure管道如何在脚本等待用户输入时检测管道何时停止的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆