stages:
- stage: A
jobs:
- job: A1
pool: CloneX
displayname: My Job A
- job: A2
pool: CloneX
displayname: My Job B
Run Code Online (Sandbox Code Playgroud)
这是我的 Azure Devops yaml。
我注意到 2 个代理(作为 Windows 服务)在同一台池机器 CloneX 上运行。它是一台内部机器。
作业 A1 和作业 A2 必须按顺序运行。
然而,A1 和 A2 都是并行安排的。
如何解决这个问题?
将作业 A2 移至阶段 B?或者
在 CloneX 池上仅保留 1 个代理?
我们有基于CentOS的用于kubernetes的基础设施,并且还在tis之上使用Openshift。我们已经终止了一个Pod,现在它不再在主控制器上可见。但是我们愿意分析其日志。我们仍然可以访问其日志吗?如何?
我正在尝试在 azure WebApp 中托管我的 .Net core MVC 2.1 linux 应用程序。我如何知道 WebApp 上运行的 Linux 风格、操作系统和版本?我选择“美国西部”作为区域。
我认为当我在开发机器上构建代码时需要这样做: How to compile .NET Core app for Linux on a windows machine My dev machine is ubuntu and Production server is CentOS
linux azure azure-web-app-service asp.net-core-2.1 azure-webapps
在 ML.Net 中,Numpy/Pandas python 库的对应物是什么?
import groovy.json.JsonSlurper
def json ='{"icons":{},"id":"template1","name":"template1","canDelete":true,"category":"Custom","defaultHostedQueue":null,"description":"","template":{"options":[{"enabled":true,"definition":{"id":"5d58cc01-7c75-450c-be18-a388ddb129ec"},"inputs":{"branchFilters":"[\"+refs/heads/*\"]","additionalFields":"{}"}},{"enabled":false,"definition":{"id":"a9db38f9-9fdc-478c-b0f9-464221e58316"},"inputs":{"workItemType":"826148","assignToRequestor":"true","additionalFields":"{}"}}],"variables":{"system.debug":{"value":"false","allowOverride":true}},"retentionRules":[{"branches":["+refs/heads/*"],"artifacts":[],"artifactTypesToDelete":["FilePath","SymbolStore"],"daysToKeep":10,"minimumToKeep":1,"deleteBuildRecord":true,"deleteTestResults":true}],"properties":{},"tags":[],"_links":{"self":{"href":"https://abc.visualstudio.com/_apis/build/Definitions/2?revision=1"},"web":{"href":"https://abc.visualstudio.com/00000000-0000-0000-0000-000000000000/_build/definition?definitionId=2"},"editor":{"href":"https://abc.visualstudio.com/00000000-0000-0000-0000-000000000000/_build/designer?id=2&_a=edit-build-definition"},"badge":{"href":"https://abc.visualstudio.com/_apis/public/build/definitions/00000000-0000-0000-0000-000000000000/2/badge"}},"buildNumberFormat":"$(date:yyyyMMdd)$(rev:.r)","jobAuthorizationScope":"projectCollection","jobTimeoutInMinutes":60,"jobCancelTimeoutInMinutes":5,"process":{"phases":[{"steps":[{"environment":{},"enabled":true,"continueOnError":false,"alwaysRun":false,"displayName":"gradlew build","timeoutInMinutes":0,"task":{"id":"8d8eebd8-2b94-4c97-85af-839254cc6da4","versionSpec":"2.*","definitionType":"task"},"inputs":{"wrapperScript":"$(Parameters.wrapperScript)","cwd":"","options":"","tasks":"$(Parameters.tasks)","publishJUnitResults":"true","testResultsFiles":"**/build/test-results/TEST-*.xml","testRunTitle":"","codeCoverageTool":"None","classFilesDirectories":"build/classes/main/","classFilter":"","failIfCoverageEmpty":"false","javaHomeSelection":"JDKVersion","jdkVersion":"default","jdkUserInputPath":"","jdkArchitecture":"x64","gradleOpts":"-Xmx1024m","sqAnalysisEnabled":"false","sqGradlePluginVersionChoice":"specify","sqGradlePluginVersion":"2.6.1","checkstyleAnalysisEnabled":"false","findbugsAnalysisEnabled":"false","pmdAnalysisEnabled":"false"}},{"environment":{},"enabled":true,"continueOnError":false,"alwaysRun":false,"displayName":"Copy Files to: $(build.artifactstagingdirectory)","timeoutInMinutes":0,"task":{"id":"5bfb729a-a7c8-4a78-a7c3-8d717bb7c13c","versionSpec":"2.*","definitionType":"task"},"inputs":{"SourceFolder":"$(system.defaultworkingdirectory)","Contents":"**/*.jar","TargetFolder":"$(build.artifactstagingdirectory)","CleanTargetFolder":"false","OverWrite":"false","flattenFolders":"false"}},{"environment":{},"enabled":true,"continueOnError":false,"alwaysRun":false,"displayName":"Publish Artifact: drop","timeoutInMinutes":0,"task":{"id":"2ff763a7-ce83-4e1f-bc89-0ae63477cebe","versionSpec":"1.*","definitionType":"task"},"inputs":{"PathtoPublish":"$(build.artifactstagingdirectory)","ArtifactName":"drop","ArtifactType":"Container","TargetPath":"","Parallel":"false","ParallelCount":"8"}}],"name":"Phase 1","refName":"Phase_1","condition":"succeeded()","target":{"executionOptions":{"type":0},"allowScriptsAuthAccessOption":false,"type":1},"jobAuthorizationScope":"projectCollection","jobCancelTimeoutInMinutes":1}],"type":1},"repository":{"properties":{"labelSources":"0","labelSourcesFormat":"$(build.buildNumber)","reportBuildStatus":"true","fetchDepth":"0"},"id":"c96c9c65-5403-40f7-843e-791fd085e6ce","type":"TfsGit","name":"Test","url":"https://abc.visualstudio.com/DealerPad/_git/Test","defaultBranch":"refs/heads/master","clean":null,"checkoutSubmodules":false},"processParameters":{"inputs":[{"aliases":[],"options":{},"properties":{},"name":"wrapperScript","label":"Gradle wrapper","defaultValue":"gradlew","required":true,"type":"filePath","helpMarkDown":"Relative path from the repository root to the Gradle Wrapper script.","visibleRule":"","groupName":""},{"aliases":[],"options":{},"properties":{},"name":"tasks","label":"Tasks","defaultValue":"build","required":true,"type":"string","helpMarkDown":"","visibleRule":"","groupName":""}]},"quality":"definition","drafts":[],"queue":{"_links":{"self":{"href":"https://abc.visualstudio.com/_apis/build/Queues/14"}},"id":14,"name":"Hosted VS2017","url":"https://abc.visualstudio.com/_apis/build/Queues/14","pool":{"id":4,"name":"Hosted VS2017","isHosted":true}},"id":2,"name":"TypeHierarchy-Gradle-CI","url":"https://abc.visualstudio.com/_apis/build/Definitions/2?revision=1","uri":"vstfs:///Build/Definition/2","path":"\\","type":"build","queueStatus":"enabled","revision":1,"createdDate":"2018-05-28T17:02:43.12Z","project":{"name":"","state":"unchanged","visibility":"unchanged"}}}'
def parser = new JsonSlurper()
def jsonResp = parser.parseText(json)
println jsonResp
Run Code Online (Sandbox Code Playgroud)
错误:
groovy.json.JsonException: expecting '}' or ',' but got current char '+' with an int value of 43
The current character read is '+' with an int value of 43
expecting '}' or ',' but got current char '+' with an int value of 43 …
Run Code Online (Sandbox Code Playgroud) azure ×1
azure-devops ×1
groovy ×1
kubectl ×1
kubernetes ×1
linux ×1
ml.net ×1
python ×1
yaml ×1