如何在Azure DevOps构建管道中记录构建变量的运行时值

时间:2018-12-07 23:47:02

标签: azure-devops

在TeamCity中,很容易查看构建使用(或更正确:可用于)的所有参数的运行时值,以及构建时这些参数的实际值。

Azure DevOps构建管道还使用参数(它们称为变量)。但是如何查看这些变量在构建过程中的值呢?

例如,我的构建管道定义了一个名为$(agent.builddirectory)的变量。如何查看该变量的解析结果?

1 个答案:

答案 0 :(得分:0)

编辑管道并添加以下任务之一

  1. 您可以通过
  2. 使用Type = Inline Script = env | sort 任务(需要代理上的Bash)
Command Line
  1. 仅对于Windows代理,您可以将Tool = cmd.exe Arguements = /k set 任务与
  2. 一起使用
private fun getARPIps(): List<Pair<String, String>> {
    val result = mutableListOf<Pair<String, String>>()
    try {
        val args = listOf("ip", "neigh")
        val cmd = ProcessBuilder(args)
        val process: Process = cmd.start()
//      val exec = Runtime.getRuntime().exec("cat proc/net/arp")
        val reader = BufferedReader(InputStreamReader(process.inputStream))
        reader.forEachLine {
            if (!it.contains("FAILED")) {
                val split = it.split("\\s+".toRegex())
                if (split.size > 4 && split[0].matches(Regex("([0-9]{1,3}\\.){3}[0-9]{1,3}"))) {
                    result.add(Pair(split[0], split[4]))
                }
            }
        }
        val errReader = BufferedReader(InputStreamReader(process.errorStream))
        errReader.forEachLine {
            Log.e(TAG, it)
            // post the error message to server
        }
        reader.close()
        errReader.close()
        process.destroy()
    } catch (e: Exception){
        e.printStackTrace()
        // post the error message to server
    }
    return result
}