ksa呀桃花树旁的小怪兽

ksa呀桃花树旁的小怪兽

获取阿里云镜像仓库中镜像的tag

 

一、安装阿里云linux客户端工具

选择官网下载地址

1
2
3
4
5
# wget wget https://aliyuncli.alicdn.com/aliyun-cli-linux-latest-amd64.tgz
# tar -xf aliyun-cli-linux-latest-amd64.tgz
# cp aliyun /usr/local/bin

  

二、使用RAM进行子账号权限管理

创建RAM子账号,并对该子账号授权,记录账号的AccessKey ID等信息

权限名称
AliyunContainerRegistryFullAccess
AliyunContainerRegistryReadOnlyAccess

三、配置客户端工具

1
2
3
4
5
6
7
8
# aliyun configure
Configuring profile  'default'   in   'AK'   authenticate mode...
Access Key Id [*********************kCg]:
Access Key Secret [***************************2w7]:
Default Region Id [cn-hangzhou]:
Default Output Format [json]: json (Only support json)
Default Language [zh|en] zh:
Saving profile[default] ...Done.
  • Access ID:RAM子账号的ID

  • Access Secret:RAM子账号的Secret

  • Region ID:阿里云账号中镜像仓库的区位(这边是cn-hangzhou)

  • Language:zh

四、获取镜像信息

1
2
3
4
5
6
7
8
9
10
11
12
# aliyun cr GetRepoTags --help
阿里云CLI命令行工具 3.0.64
Product:     cr (容器镜像服务)
Method:      GET
PathPattern:  /repos/ [RepoNamespace]/[RepoName] /tags
Parameters:
   --RepoName      String  Required
   --RepoNamespace String  Required
   --Page          Integer Optional
   --PageSize      Integer Optional

  

  • 使用--help 查看使用方法,cr为容器镜像服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# aliyun cr GetRepoTags --RepoNamespace xxxx --RepoName xxxxxxx
{
     "data" : {
         "page" : 1,
         "pageSize" : 30,
         "tags" : [
             {
                 "digest" :  "c06e0fe7ca4759dc15c517007a21465cfce16cc35ac3f83058c306880f804ea9" ,
                 "imageCreate" : 1606813621000,
                 "imageId" :  "878046fe77276fe5ff5883537a5435734c9d21a953b271534df8d01f4da14e1e" ,
                 "imageSize" : 154166831,
                 "imageUpdate" : 1606813621000,
                 "status" :  "NORMAL" ,
                 "tag" :  "1.0.2"
             }
         ],
         "total" : 1
     }
}
  • --RepoNamespace:阿里云容器镜像服务中的命名空间

  • --RepoName:阿里云容器镜像服务中的镜像仓库名称

只获取tag,需要提前安装jq命令

1
2
# aliyun cr GetRepoTags --RepoNamespace xxxx --RepoName xxxxxxxxx | jq ".data.tags[].tag"
"1.0.2"

  

如果有多个镜像,会将所有镜像全部显示,可以在jenkins中作为参数选择要发布的镜像版本号

04-08 05:12