支持 gcr.io k8s.gcr.io registry.k8s.io quay.io ghcr.io 等镜像库

This commit is contained in:
AnJia 2022-09-06 15:57:44 +08:00
parent 536ef6d621
commit fd40b8282a
3 changed files with 18 additions and 13 deletions

View File

@ -19,4 +19,4 @@ issues的内容无所谓可以为空
**注意:** **注意:**
**>>>>>>>>本项目目前仅支持 gcr.io和k8s.gcr.io 镜像<<<<<<<<** **>>>>>>>>本项目目前仅支持 gcr.io k8s.gcr.io registry.k8s.io quay.io ghcr.io 镜像<<<<<<<<**

View File

@ -24,5 +24,5 @@ jobs:
cache: true cache: true
- name: 运行 go 代码 - name: 运行 go 代码
run: go run main.go --github.token=${{ secrets.GITHUB_TOKEN }} --github.user=${{ github.repository_owner }} --github.repo=${{ github.event.repository.name }} --docker.registry=${{ secrets.DOCKER_REGISTRY }} --docker.namespace=${{ secrets.DOCKER_NAMESPACE }} --docker.user=${{ secrets.DOCKER_USER }} --docker.password=${{ secrets.DOCKER_PASSWORD }} --github.run_id=${{ github.run_id }} run: go run main.go --github.token=${{ secrets.GITHUB_TOKEN }} --github.user=${{ github.repository_owner }} --github.repo=${{ github.event.repository.name }} --docker.registry=${{ secrets.DOCKER_REGISTRY }} --docker.namespace=${{ secrets.DOCKER_NAMESPACE }} --docker.user=${{ secrets.DOCKER_USER }} --docker.secret=${{ secrets.DOCKER_PASSWORD }} --github.run_id=${{ github.run_id }}

27
main.go
View File

@ -31,7 +31,7 @@ func main() {
registry = kingpin.Flag("docker.registry", "Docker Registry.").Short('r').Default("").String() registry = kingpin.Flag("docker.registry", "Docker Registry.").Short('r').Default("").String()
registryNamespace = kingpin.Flag("docker.namespace", "Docker Registry Namespace.").Short('n').String() registryNamespace = kingpin.Flag("docker.namespace", "Docker Registry Namespace.").Short('n').String()
registryUserName = kingpin.Flag("docker.user", "Docker Registry User.").Short('a').String() registryUserName = kingpin.Flag("docker.user", "Docker Registry User.").Short('a').String()
registryPassword = kingpin.Flag("docker.password", "Docker Registry Password.").Short('w').String() registryPassword = kingpin.Flag("docker.secret", "Docker Registry Password.").Short('s').String()
runId = kingpin.Flag("github.run_id", "Github Run Id.").Short('i').String() runId = kingpin.Flag("github.run_id", "Github Run Id.").Short('i').String()
) )
kingpin.HelpFlag.Short('h') kingpin.HelpFlag.Short('h')
@ -129,21 +129,26 @@ func main() {
var resultTpl = ` var resultTpl = `
{{ if .Success }} {{ if .Success }}
{{ if .Registry }} {{ if .Registry }}
**转换完成**\n **转换完成**
^^^bash ^^^bash
#原镜像\n #原镜像
{{ .OriginImageName }}\n\n\n {{ .OriginImageName }}
#转换后镜像\n
{{ .TargetImageName }}\n\n\n #转换后镜像
{{ .TargetImageName }}
#下载并重命名镜像\n #下载并重命名镜像\n
docker pull {{ .TargetImageName }}\n docker pull {{ .TargetImageName }}
docker tag {{ .TargetImageName }} {{ .originImageName }}\n
docker images | grep $(echo {{ .OriginImageName }} |awk -F':' '{print $1}')\n\n\n docker tag {{ .TargetImageName }} {{ .originImageName }}
docker images | grep $(echo {{ .OriginImageName }} |awk -F':' '{print $1}')
^^^ ^^^
{{ end }} {{ end }}
{{ else }} {{ else }}
**转换失败**\n **转换失败**
详见 [构建任务](https://github.com/{{ .GhUser }}/{{ .Repo }}/actions/runs/{{ .RunId }}) 详见 [构建任务](https://github.com/{{ .GhUser }}/{{ .Repo }}/actions/runs/{{ .RunId }})
{{ end }} {{ end }}
` `
@ -192,7 +197,7 @@ func mirrorByIssues(issues *github.Issue, config *Config) (err error, originImag
} }
if len(config.RegistryNamespace) > 0 { if len(config.RegistryNamespace) > 0 {
targetImageName = config.RegistryNamespace + targetImageName targetImageName = config.RegistryNamespace + "/" + targetImageName
} }
if len(config.Registry) > 0 { if len(config.Registry) > 0 {
targetImageName = config.Registry + "/" + targetImageName targetImageName = config.Registry + "/" + targetImageName