From 99b1b2220403a52e25410f5ec78e4078e577fd1c Mon Sep 17 00:00:00 2001 From: chengli Date: Sat, 13 Sep 2025 21:05:48 +0800 Subject: [PATCH 1/4] feat(git-mirror): add git-mirror-light container setup --- container/git-mirror-light/build | 18 ++++++++++++ container/git-mirror-light/config.toml | 21 ++++++++++++++ container/git-mirror-light/start | 38 ++++++++++++++++++++++++++ 3 files changed, 77 insertions(+) create mode 100755 container/git-mirror-light/build create mode 100644 container/git-mirror-light/config.toml create mode 100755 container/git-mirror-light/start diff --git a/container/git-mirror-light/build b/container/git-mirror-light/build new file mode 100755 index 00000000..1b8f6345 --- /dev/null +++ b/container/git-mirror-light/build @@ -0,0 +1,18 @@ +#!/bin/bash +# SPDX-License-Identifier: MulanPSL-2.0+ +# Copyright (c) 2024 Huawei Technologies Co., Ltd. All rights reserved. + +. ../defconfig.sh + +docker_skip_rebuild "git-mirror-light" + +load_cci_defaults + +if [ ! -d git-mirror-server.git ]; then + git clone https://gitee.com/chengli132/git-mirror-server.git +fi + +cd git-mirror-server && docker build -t git-mirror-light . + +push_image git-mirror-light:latest + diff --git a/container/git-mirror-light/config.toml b/container/git-mirror-light/config.toml new file mode 100644 index 00000000..77554dfc --- /dev/null +++ b/container/git-mirror-light/config.toml @@ -0,0 +1,21 @@ +# ListenAddr is the address the web server listens on for serving the mirrors. +# Defaults to :8080 +ListenAddr = ":8888" +# Interval is the default interval for updating mirrors, can be overridden per +# repo. Defaults to 15 seconds. +Interval = "12h" +# Base path for storing mirrors, absolute or relative. Defaults to "." +BasePath = "/git-mirror/data" + +# An example of a public mirror taking defaults from above. The Name is +# generated from the URL by just taking the host and path. +# +# Will be mirrored at http://localhost:8080/github.com/espressif/git-mirror-server.git +[[Repo]] +Origin = "https://gitee.com/openeuler/kernel.git" + +# It is also possible to set custom names for accessing the repos. +# +# Will be mirrored at http://localhost:8080/custom-name +[[Repo]] +Origin = "https://mirrors.tuna.tsinghua.edu.cn/git/linux-next.git" diff --git a/container/git-mirror-light/start b/container/git-mirror-light/start new file mode 100755 index 00000000..1b96583b --- /dev/null +++ b/container/git-mirror-light/start @@ -0,0 +1,38 @@ +#!/bin/bash +# SPDX-License-Identifier: MulanPSL-2.0+ +# Copyright (c) 2020 Huawei Technologies Co., Ltd. All rights reserved. + +. $CCI_SRC/container/defconfig.sh + + +docker_rm git-mirror-light + +DEFAULT_GIT_CACHE='/home/bisect/delimiter/git-mirror' +DEFAULT_GIT_CONFIG_DIR='/home/bisect/delimiter/git-mirror/config' + +# Ensure the host directories exist +mkdir -p "$DEFAULT_GIT_CACHE" +mkdir -p "$DEFAULT_GIT_CONFIG_DIR" + +# Copy the config file to the expected host location if it's not there. +# This makes the start script more robust. +if [ ! -f "$DEFAULT_GIT_CONFIG_DIR/config.toml" ]; then + echo "Config file not found in $DEFAULT_GIT_CONFIG_DIR, copying from source..." + cp "$(dirname "$0")/config.toml" "$DEFAULT_GIT_CONFIG_DIR/config.toml" +fi + +cmd=( + docker run + --restart=always + -d + --name git-mirror-light + -v "$DEFAULT_GIT_CACHE":/git-mirror/data + -v "$DEFAULT_GIT_CONFIG_DIR/config.toml":/etc/git-mirror/config.toml + git-mirror-light + /etc/git-mirror/config.toml +) + +"${cmd[@]}" + + +"${cmd[@]}" -- Gitee From f1270cf411d29f582cd36a8e5191597caf61419c Mon Sep 17 00:00:00 2001 From: chengli Date: Sat, 13 Sep 2025 21:10:04 +0800 Subject: [PATCH 2/4] fix(container): remove duplicate container start command and add port mapping --- container/git-mirror-light/start | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/container/git-mirror-light/start b/container/git-mirror-light/start index 1b96583b..9f4fa9ed 100755 --- a/container/git-mirror-light/start +++ b/container/git-mirror-light/start @@ -28,11 +28,10 @@ cmd=( --name git-mirror-light -v "$DEFAULT_GIT_CACHE":/git-mirror/data -v "$DEFAULT_GIT_CONFIG_DIR/config.toml":/etc/git-mirror/config.toml + -p 8888:8888 git-mirror-light /etc/git-mirror/config.toml ) "${cmd[@]}" - -"${cmd[@]}" -- Gitee From e952f7f389f3d15ed3da1993c0de0c77d7712448 Mon Sep 17 00:00:00 2001 From: jacknichao Date: Wed, 17 Sep 2025 17:28:19 +0800 Subject: [PATCH 3/4] rename to git-proxy --- container/{git-mirror-light => git-proxy}/build | 6 +++--- container/{git-mirror-light => git-proxy}/config.toml | 8 ++++++++ container/{git-mirror-light => git-proxy}/start | 7 ++++--- 3 files changed, 15 insertions(+), 6 deletions(-) rename container/{git-mirror-light => git-proxy}/build (67%) rename container/{git-mirror-light => git-proxy}/config.toml (84%) rename container/{git-mirror-light => git-proxy}/start (92%) diff --git a/container/git-mirror-light/build b/container/git-proxy/build similarity index 67% rename from container/git-mirror-light/build rename to container/git-proxy/build index 1b8f6345..748a4fa1 100755 --- a/container/git-mirror-light/build +++ b/container/git-proxy/build @@ -4,7 +4,7 @@ . ../defconfig.sh -docker_skip_rebuild "git-mirror-light" +docker_skip_rebuild "git-proxy" load_cci_defaults @@ -12,7 +12,7 @@ if [ ! -d git-mirror-server.git ]; then git clone https://gitee.com/chengli132/git-mirror-server.git fi -cd git-mirror-server && docker build -t git-mirror-light . +cd git-mirror-server && docker build -t git-proxy . -push_image git-mirror-light:latest +push_image git-proxy:latest diff --git a/container/git-mirror-light/config.toml b/container/git-proxy/config.toml similarity index 84% rename from container/git-mirror-light/config.toml rename to container/git-proxy/config.toml index 77554dfc..6242fc4d 100644 --- a/container/git-mirror-light/config.toml +++ b/container/git-proxy/config.toml @@ -19,3 +19,11 @@ Origin = "https://gitee.com/openeuler/kernel.git" # Will be mirrored at http://localhost:8080/custom-name [[Repo]] Origin = "https://mirrors.tuna.tsinghua.edu.cn/git/linux-next.git" + +[[Repo]] +Origin = "https://mirrors.tuna.tsinghua.edu.cn/git/linux-stable.git" + +[[Repo]] +Origin = "https://mirrors.tuna.tsinghua.edu.cn/git/linux.git" + + diff --git a/container/git-mirror-light/start b/container/git-proxy/start similarity index 92% rename from container/git-mirror-light/start rename to container/git-proxy/start index 9f4fa9ed..10f6b309 100755 --- a/container/git-mirror-light/start +++ b/container/git-proxy/start @@ -5,7 +5,7 @@ . $CCI_SRC/container/defconfig.sh -docker_rm git-mirror-light +docker_rm git-proxy DEFAULT_GIT_CACHE='/home/bisect/delimiter/git-mirror' DEFAULT_GIT_CONFIG_DIR='/home/bisect/delimiter/git-mirror/config' @@ -25,11 +25,12 @@ cmd=( docker run --restart=always -d - --name git-mirror-light + --name git-proxy -v "$DEFAULT_GIT_CACHE":/git-mirror/data -v "$DEFAULT_GIT_CONFIG_DIR/config.toml":/etc/git-mirror/config.toml + -v /srv/cache:/srv/cache -p 8888:8888 - git-mirror-light + git-proxy /etc/git-mirror/config.toml ) -- Gitee From b8ae264311a440a2b3cdfb5819715b7233de3e29 Mon Sep 17 00:00:00 2001 From: chengli Date: Tue, 23 Sep 2025 10:14:33 +0800 Subject: [PATCH 4/4] chore: update git proxy paths to /srv/git --- container/git-proxy/start | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/container/git-proxy/start b/container/git-proxy/start index 10f6b309..3e6c2732 100755 --- a/container/git-proxy/start +++ b/container/git-proxy/start @@ -7,8 +7,8 @@ docker_rm git-proxy -DEFAULT_GIT_CACHE='/home/bisect/delimiter/git-mirror' -DEFAULT_GIT_CONFIG_DIR='/home/bisect/delimiter/git-mirror/config' +DEFAULT_GIT_CACHE='/srv/git/git-proxy' +DEFAULT_GIT_CONFIG_DIR='/srv/git/git-proxy/config' # Ensure the host directories exist mkdir -p "$DEFAULT_GIT_CACHE" @@ -28,7 +28,6 @@ cmd=( --name git-proxy -v "$DEFAULT_GIT_CACHE":/git-mirror/data -v "$DEFAULT_GIT_CONFIG_DIR/config.toml":/etc/git-mirror/config.toml - -v /srv/cache:/srv/cache -p 8888:8888 git-proxy /etc/git-mirror/config.toml -- Gitee