Merge branch 'main' of github.com:DaoCloud/public-image-mirror
This commit is contained in:
commit
1e5d20d10b
|
@ -0,0 +1,36 @@
|
||||||
|
# This is a basic workflow to help you get started with Actions
|
||||||
|
|
||||||
|
name: CI
|
||||||
|
|
||||||
|
# Controls when the workflow will run
|
||||||
|
on:
|
||||||
|
# Triggers the workflow on push or pull request events but only for the main branch
|
||||||
|
push:
|
||||||
|
branches: [ main ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ main ]
|
||||||
|
|
||||||
|
# Allows you to run this workflow manually from the Actions tab
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||||
|
jobs:
|
||||||
|
# This workflow contains a single job called "build"
|
||||||
|
build:
|
||||||
|
# The type of runner that the job will run on
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||||
|
steps:
|
||||||
|
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
# Runs a single command using the runners shell
|
||||||
|
- name: Run a one-line script
|
||||||
|
run: echo Hello, world!
|
||||||
|
|
||||||
|
# Runs a set of commands using the runners shell
|
||||||
|
- name: Run a multi-line script
|
||||||
|
run: |
|
||||||
|
echo Add other actions to build,
|
||||||
|
echo test, and deploy your project.
|
|
@ -0,0 +1,27 @@
|
||||||
|
name: "Sync Workflows"
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- "mirror.txt"
|
||||||
|
jobs:
|
||||||
|
sync-workflows:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Generate
|
||||||
|
run: |
|
||||||
|
git rm -f .github/workflows/mirror-*.yml || true
|
||||||
|
./hack/generate-workflow.sh
|
||||||
|
- name: Sync
|
||||||
|
env:
|
||||||
|
GH_TOKEN: "${{ secrets.GH_TOKEN }}" # Permission to operate Workflows is required
|
||||||
|
run: |
|
||||||
|
git add .github/workflows/mirror-*.yml && git commit -m "Generate Workflow YAML" && {
|
||||||
|
git config --global user.name "bot"
|
||||||
|
SOURCE=$(git remote get-url origin | sed -E 's#git@(.+):(.+)#https://\1/\2#g' | sed "s#https://github.com#https://bot:${GH_TOKEN}@github.com#g")
|
||||||
|
git remote add upstream "${SOURCE}"
|
||||||
|
git push upstream main
|
||||||
|
}
|
|
@ -37,7 +37,7 @@ k8s.gcr.io/coredns/coredns => k8s-gcr.m.daocloud.io/coredns/coredns
|
||||||
|
|
||||||
## 支持的仓库
|
## 支持的仓库
|
||||||
|
|
||||||
incloud mirror.txt
|
[mirror.txt]( mirror.txt)
|
||||||
|
|
||||||
## 增加新的仓库
|
## 增加新的仓库
|
||||||
|
|
||||||
|
@ -67,4 +67,4 @@ python scripts/sync-to-jp.py
|
||||||
|
|
||||||
## 最佳实践
|
## 最佳实践
|
||||||
* 通过 加速 安装 kubeadm
|
* 通过 加速 安装 kubeadm
|
||||||
* 通过 加速 运行 artifacthub 上的镜像
|
* 通过 加速 运行 artifacthub 上的镜像
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -o errexit
|
||||||
|
set -o nounset
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
|
cat ./mirror.txt | while read line; do
|
||||||
|
line="${line// /}"
|
||||||
|
if [[ "${line}" == "#"* ]] || [[ "${line}" == "" ]]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
host="${line%%/*}"
|
||||||
|
image="${line#*/}"
|
||||||
|
workflow=".github/workflows/mirror-${host//./-}-${image//\//-}.yml"
|
||||||
|
|
||||||
|
cat <<EOF >"${workflow}"
|
||||||
|
name: "Sync ${host}/${image}"
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
schedule:
|
||||||
|
- cron: "0 0 * * *"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
sync-image:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Sync
|
||||||
|
env:
|
||||||
|
CREDS: "\${{ secrets.CREDS }}"
|
||||||
|
MIRROR: "\${{ secrets.MIRROR }}"
|
||||||
|
run: |
|
||||||
|
docker run --rm -it ananace/skopeo \\
|
||||||
|
sync --src docker --dest docker --dest-tls-verify=false --dest-creds "\${CREDS}" -f oci \\
|
||||||
|
"${host}/${image}" "\${MIRROR}/${image}"
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
done
|
Loading…
Reference in New Issue