在 Azure DevOps 管道中将映像推送和拉取到 Azure 容器注册表任务失败。当尝试从本地系统拉取或推送时,没有问题,但当尝试使用 Azure Devops 管道执行此操作时,则会失败。Docker 登录成功,但当我想从 ACR 中提取镜像时失败,结果如下:
**Error response from daemon: Head "***/a2/abcd/manifest/latest": unauthorized: Invalid clientid or client secret.
##[error]Bash exited with code '1'.
##[debug]Processed: ##vso[task.issue type=error;]Bash exited with code '1'.
Run Code Online (Sandbox Code Playgroud)
我检查了 Az Devops 中的所有服务连接,它们看起来都配置正确。还检查了关联的服务主体是否具有AcrPull权限AcrPush,所有这些都已到位。只是不明白出了什么问题。
我的 Yaml 看起来像这样:
trigger: none
schedules:
- cron: "0 0 0 * *"
displayName: **** *
branches:
include:
- abcd
always: true
pool:
vmImage: 'ubuntu-latest'
variables:
- name: acrname
value: *****.azurecr.io
stages:
- stage: abcd
displayName: …Run Code Online (Sandbox Code Playgroud) 我有一个包含以下内容的 txt 文件:
name space valid date1 date2
abc mon yes 2022-10-10 2022-10-10
def tue yes 2022-10-10 2022-10-10
ghi wed yes 2022-10-10 2022-10-10
jkl thu yes 2022-10-10 2022-10-10
Run Code Online (Sandbox Code Playgroud)
我需要在文件的第四个位置添加一列,其中包含标题“位置”和内容,如下所示。
name space valid location date1 date2
abc mon yes newyork 2022-10-10 2022-10-10
def tue yes newyork 2022-10-10 2022-10-10
ghi wed yes newyork 2022-10-10 2022-10-10
jkl thu yes newyork 2022-10-10 2022-10-10
Run Code Online (Sandbox Code Playgroud)
有没有办法使用 sed、awk 等 Linux 命令来做到这一点?
我尝试了这个但没有成功:
awk 'BEGIN {FS=OFS=","} NR==1{$0="name, space, valid, location, date1, date2"} NR>1{$3=sprintf("\t,%s",$3)}1' values.txt
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激。谢谢!