- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
更新:
是否可以添加或更改在 Azure DevOps 上执行管道的命令?
<小时/>在 Visual Studio Code 上本地运行我的程序,我确实得到了输出。
但是,在 Azure DevOps 上运行我的 GitHub 原始分支不会产生任何输出。
我关注了 Stack Overflow answer ,该解决方案引用 GitHub Issue .
我已经实现了以下内容,但 Azure 的原始日志在我的 Python 日志记录
上返回空白。
test_logging.py
:
import logging
filename = "my.log"
global logger
logger = logging.getLogger()
logger.setLevel(logging.INFO)
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
open(filename, "w").close() # empty logs
fileHandler = logging.FileHandler(filename)
fileHandler.setFormatter(formatter)
fileHandler.setLevel(logging.INFO)
logger.addHandler(fileHandler)
logger.error('TEST')
# fetch logs
with open(filename, "r") as fileHandler:
logs = [log.rstrip() for log in fileHandler.readlines()]
open(filename, "w").close() # empty logs
print('logs = ', logs)
>>> logs = []
host.json
:
{
"version": "2.0",
"logging": {
"fileLoggingMode": "always",
"logLevel": {
"default": "Debug"
}
}
}
<小时/>
然后我尝试了 post 中的替代 host.json
:
"logging": {
"fileLoggingMode": "debugOnly",
"logLevel": {
"default": "None",
"Host.Results": "Information",
"Function": "Information",
"Host.Aggregator": "Information"
},
"applicationInsights": {
"samplingSettings": {
"isEnabled": false,
"maxTelemetryItemsPerSecond": 5
}
}
}
azure-pipeline-ontology_tagger.yaml
# ##########
# A build run against multiple Python targets
# ##########
resources:
- repo: self
variables:
tag: '$(Build.SourceBranchName)-$(Build.BuildNumber)'
imageName: '$(Build.Repository.Name)-ontology_tagger'
artifactFeed: grandproject/private-sources
repositoryUrl: private-sources
packageDirectory: workers/ontology_tagger
trigger:
batch: true
branches:
include:
- master
- development
- releases/*
paths:
include:
- "workers/ontology_tagger"
exclude:
- "workers"
- "*.md"
pr:
branches:
include:
- master
- development
- releases/*
paths:
include:
- "workers/ontology_tagger"
exclude:
- "workers"
- "*.md"
stages:
- stage: BuildWP
displayName: Build Workers python package
jobs:
- job: Build
displayName: Build Worker python image
pool:
name: EKS-grandproject-dev
steps:
- bash: env
- task: PipAuthenticate@0
displayName: Authenticate with artifact feed
inputs:
artifactFeeds: $(artifactFeed)
- task: TwineAuthenticate@1
displayName: Authenticate with artifact feed
inputs:
artifactFeed: $(artifactFeed)
- bash: echo "##vso[task.setvariable variable=POETRY_HTTP_BASIC_AZURE_PASSWORD;isOutput=true]$(echo $PIP_EXTRA_INDEX_URL | sed -r 's|https://(.+):(.+)@.*|\2|')"
name: "PIPAUTH"
- task: Bash@3
displayName: Test worker
inputs:
targetType: 'inline'
workingDirectory: '$(packageDirectory)'
script: |
docker build . --progress plain --pull --target test \
--build-arg POETRY_HTTP_BASIC_AZURE_PASSWORD=${PIPAUTH_POETRY_HTTP_BASIC_AZURE_PASSWORD} \
--build-arg ATLASSIAN_TOKEN=$(ATLASSIAN_TOKEN)
- task: Bash@3
displayName: Build and publish package
inputs:
targetType: 'inline'
workingDirectory: '$(packageDirectory)'
script: |
set -e
cp $(PYPIRC_PATH) ./
docker build . --target package --progress plain --build-arg REPO=$(repositoryUrl)
- task: Bash@3
displayName: Build docker image
inputs:
targetType: 'inline'
workingDirectory: '$(packageDirectory)'
script: |
docker build . --tag '$(imageName):$(tag)' --progress plain --pull --target production \
--build-arg POETRY_HTTP_BASIC_AZURE_PASSWORD=${PIPAUTH_POETRY_HTTP_BASIC_AZURE_PASSWORD} \
--label com.azure.dev.image.build.sourceversion=$(Build.SourceVersion) \
--label com.azure.dev.image.build.sourcebranchname=$(Build.SourceBranchName) \
--label com.azure.dev.image.build.buildnumber=$(Build.BuildNumber)
- task: ECRPushImage@1
displayName: Push image with 'latest' tag
condition: and(succeeded(),eq(variables['Build.SourceBranchName'], 'master'))
inputs:
awsCredentials: 'dev-azure-devops'
regionName: 'eu-central-1'
imageSource: 'imagename'
sourceImageName: $(imageName)
sourceImageTag: $(tag)
repositoryName: $(imageName)
pushTag: 'latest'
autoCreateRepository: true
- task: ECRPushImage@1
displayName: Push image with branch name tag
condition: and(succeeded(),ne(variables['Build.SourceBranchName'], 'merge'))
inputs:
awsCredentials: 'iotahoe-dev-azure-devops'
regionName: 'eu-central-1'
imageSource: 'imagename'
sourceImageName: $(imageName)
sourceImageTag: $(tag)
repositoryName: $(imageName)
pushTag: '$(Build.SourceBranchName)'
autoCreateRepository: true
- task: ECRPushImage@1
displayName: Push image with uniq tag
condition: and(succeeded(),ne(variables['Build.SourceBranchName'], 'merge'))
inputs:
awsCredentials: 'dev-azure-devops'
regionName: 'eu-central-1'
imageSource: 'imagename'
sourceImageName: $(imageName)
sourceImageTag: $(tag)
repositoryName: $(imageName)
pushTag: $(tag)
autoCreateRepository: true
outputVariable: 'ECR_PUSHED_IMAGE_NAME'
如果还有什么需要我提供的,请告诉我。
最佳答案
我认为您从根本上混淆了这里的一些内容:您提供的链接和下面的链接提供了有关在 Azure Functions 中设置日志记录的指南。但是,您似乎正在谈论 Azure Pipelines 中的日志记录,这是完全不同的事情。所以需要明确的是:
Azure Pipelines 运行构建和部署作业,将 GitHub 存储库上可能拥有的代码部署到 Azure Functions。管道在 Azure Pipelines 代理中执行,该代理可以是 Microsoft 或自托管。如果我们假设你使用 Microsoft 托管代理执行管道,则不应假设这些代理具有 Azure Functions 可能具有的任何功能(也不应首先执行针对 Azure Functions 的代码)。如果您想在管道中执行 python 代码,您应该首先开始查看托管代理已预安装哪些与 python 相关的功能并从那里开始工作:https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops&tabs=yaml
如果您想记录有关管道运行的信息,则应在手动排队管道时首先选中“启用系统诊断”选项。要自己实现更多日志记录,请检查:https://learn.microsoft.com/en-us/azure/devops/pipelines/scripts/logging-commands?view=azure-devops&tabs=bash
要登录 Azure Functions,您可能需要从此处开始:https://learn.microsoft.com/en-us/azure/azure-functions/functions-monitoring ,但这与登录 Azure Pipelines 是完全不同的主题。
关于python - Azure DevOps Pipeline 上没有日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69552230/
例如,如果运行 1 正在等待批准并触发运行 2,则应拒绝运行 1。 最佳答案 “待批准”状态具体来自 Approval Gates功能。 虽然您不能在触发新运行时明确拒绝“待批准”步骤,但您可以通过在
在 Azure DevOps Pipelines 中,似乎有两种我无法区分的概念和处理“工件”的方法。 管道工件 https://learn.microsoft.com/en-us/azure/dev
不确定是否有办法做到这一点,但我想查看之前运行的 yaml 管道中的参数,以便查看管道运行时输入或选择的内容。那可能吗?我发现的唯一解决方法是根据每个参数添加标签。 最佳答案 您可以从 Build 查
我正在运行我所有的测试用例,其中一些用例有时会失败,管道检测到它并使步骤和构建失败。这会阻止要执行的下一步(压缩报告文件夹)。我想将该 zip 文件作为电子邮件附件发送。 这是我的 bitbucket
我正在数据工厂中定义管道,我纠正了一些错误。第一个事件是调用 usql 脚本进行一些聚合,我更改了脚本很多时间,但错误仍然是: [{"errorId":"E_CSC_USER_SYNTAXERROR"
我正在尝试使用运行命令VSTS扩展名对VSTS版本定义执行helm命令,但问题是它无法在我配置的自定义生成代理上找到kubeconfig文件。我认为这是因为定义的构建步骤在单独的过程中运行。当我运行
我无法弄清楚 sklearn.pipeline.Pipeline 是如何工作的。 doc 中有一些解释.例如它们是什么意思: Pipeline of transforms with a final e
我在 azure 管道中有两个管道(也称为“构建定义”),一个正在执行系统测试,一个正在执行性能测试。两者都使用相同的测试环境。我必须确保系统测试管道运行时不会触发性能管道,反之亦然。 到目前为止我已
我遵循了这个指令 https://confluence.atlassian.com/bitbucket/use-ssh-keys-in-bitbucket-pipelines-847452940.ht
当使用 YAML 完成另一个管道时尝试触发 Azure 管道。有documentation表明您可以添加管道资源: resources: # types: pipelines | builds |
我正在尝试根据我发布到的每个环境对我的 Web.config 进行文件转换。大多数情况下,一切看起来都很好,直到我在发布管道上部署到我的 UAT 阶段。 在我的构建管道中,这是我正在使用的 YAML
脚本化管道中是否有任何方法可以将某个阶段标记为不稳定,但仅将该阶段显示为不稳定,而不在输出中将每个阶段标记为不稳定? 我可以做这样的事情: node() { stage("Stage1") {
我有针对特定环境(dev、qa、uat)的特定配置文件和另一个根 web.config。部署的代码读取 web.config。所以我一直在尝试复制内容或重命名 Azure Pipelines 中的文件
我的 Jenkins 中有很多 Pipeline 项目。我想将它们转换为多分支管道。是否可以不删除管道并创建新的多分支管道?怎么办? 最佳答案 假设您的管道位于 Jenkinsfile 中,则无需进行
我们正在使用扩展功能以安全的方式在我们的管道中重用模板。为了更轻松地定义模板的参数,我想使用变量,但我觉得这是不可能的。 但由于我在官方文档中找不到答案,所以我在这一轮提问。 我的 yml 文件如下所
如何访问UID Jenkins 管道工作中的变量? 我收到了 null什么时候: pipeline { agent any environment { def user
我正在摆弄管道以尝试减少整体运行时间。我想做的一件事是执行 docker pull ...在开始时,以便以后,当我真正需要它时,它已经为我准备好了。我想将它作为后台工作解雇,并让它在该任务结束后继续存
From here我了解到 Bitbucket Pipeline 支持 ifs 语句。 如何在 if 语句中执行多行块? 这不计算: script: - if [ $BITBUCK
我在运行 Jenkins 服务器(在 docker 容器内)的谷歌云中运行虚拟机。我正在尝试为我的应用程序构建一个 Docker 镜像,并使用 Jenkins 管道将其推送到 Google Conta
在构建和部署 docker image.Getting Unexpected value 'Steps' 在第 27 行之前,我试图将视频文件从 GPM 复制到 app/dist/asset/imag
我是一名优秀的程序员,十分优秀!