Compare commits

...

8 Commits

Author SHA1 Message Date
b1688d45a8 [*] 修改为 group
Some checks failed
Build Docker Image / Explore-Gitea-Actions (push) Failing after 9s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 18m11s
2025-01-13 20:08:43 +08:00
5c7ccf4f4f 修改 ubuntu debian 源 2025-01-13 20:07:25 +08:00
ed14758b6b 取消密钥
All checks were successful
Build Docker Image / Explore-Gitea-Actions (push) Successful in 3m5s
2025-01-13 16:27:00 +08:00
e01366ede1 [*] 更新私有化actions
All checks were successful
Build Docker Image / Explore-Gitea-Actions (push) Successful in 56s
2025-01-13 16:23:45 +08:00
1fe510105a [+] 测试 vars
All checks were successful
Build Docker Image / Explore-Gitea-Actions (push) Successful in 2m14s
2025-01-13 16:07:39 +08:00
ede14fd99b [+] 增加自动化构建
All checks were successful
Build Docker Image / Explore-Gitea-Actions (push) Successful in 1m12s
2025-01-13 15:51:37 +08:00
f4ec37b97c [+] 增加 git pip npm bash 2025-01-13 15:42:08 +08:00
b504790438 [+] fix 粘贴 2025-01-06 16:53:04 +08:00
8 changed files with 124 additions and 25 deletions

View File

@ -0,0 +1,29 @@
name: Build Docker Image
on:
push:
branches:
- main
jobs:
Explore-Gitea-Actions:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: https://git.martin98.com/actions/checkout.git@v4
- name: Log in to Docker Hub
uses: https://git.martin98.com/actions/login-action.git@v3
with:
registry: ${{ vars.DOCKER_HUB }}
username: ${{ vars.DOCKER_USERNAME }}
password: ${{ vars.DOCKER_PASSWORD }}
- name: Build and push
uses: https://git.martin98.com/actions/build-push-action.git@v4
with:
context: .
platforms: linux/amd64
push: true
tags: |
docker.martin98.com/martin_farm/init:latest
docker.martin98.com/martin_farm/init:${{ github.sha }}

3
Dockerfile Normal file
View File

@ -0,0 +1,3 @@
FROM scratch
COPY *.sh /scripts

View File

@ -5,6 +5,14 @@
curl -sSL https://git.martin98.com/MartinFarm/init/raw/branch/main/init-apt.sh | bash curl -sSL https://git.martin98.com/MartinFarm/init/raw/branch/main/init-apt.sh | bash
# docker-ce # docker-ce
curl -sSL https://git.martin98.com/MartinFarm/init/raw/branch/main/init-docker.sh | bash curl -sSL https://git.martin98.com/MartinFarm/init/raw/branch/main/init-docker.sh | bash
# npm
curl -sSL https://git.martin98.com/MartinFarm/init/raw/branch/main/init-npm.sh | bash
# pip
curl -sSL https://git.martin98.com/MartinFarm/init/raw/branch/main/init-pip.sh | bash
# git
curl -sSL https://git.martin98.com/MartinFarm/init/raw/branch/main/init-git.sh | bash
# 初始化全部 # 初始化全部
curl -sSL https://git.martin98.com/MartinFarm/init/raw/branch/main/init-all.sh | bash curl -sSL https://git.martin98.com/MartinFarm/init/raw/branch/main/init-all.sh | bash
``` ```
@ -17,17 +25,32 @@ pip config set global.index-url https://mirrors.martin98.com/repository/pypi-gro
npm config set registry https://mirrors.martin98.com/repository/npm-group/ npm config set registry https://mirrors.martin98.com/repository/npm-group/
``` ```
##### docker 容器中 #### dockerfile
##### DEB822 格式
```bash ```bash
RUN --mount=type=cache,target=/var/cache/apt \ RUN --mount=type=cache,target=/var/cache/apt \
--mount=type=cache,target=/var/lib/apt \ --mount=type=cache,target=/var/lib/apt \
sed -i '6,$d' /etc/apt/sources.list.d/dhttps://mirrors.mebian.sources && \ APT_OPTIONS="-o Acquire::https::mirrors.martin98.com::Verify-Peer=false -o Acquire::https::mirrors.martin98.com::Verify-Host=false" \
sed -i 's|http://deb.debian.org/debian|artin98.com/repository/debian-tsinghua/|g' /etc/apt/sources.list.d/debian.sources && \ type=$(cat /etc/*release | grep ^ID= | cut -d= -f2) && \
apt update && \ sed -i '6,$d' /etc/apt/sources.list.d/${type}.sources && \
apt install -y --no-install-recommends \ sed -i "s|http://deb.debian.org/debian|https://mirrors.martin98.com/repository/${type}-tsinghua/|g" /etc/apt/sources.list.d/${type}.sources && \
gcc \ apt update $APT_OPTIONS && apt install $APT_OPTIONS -y ca-certificates curl && update-ca-certificates
g++ \ ```
python3-dev ##### 传统格式
```bash
RUN --mount=type=cache,target=/var/cache/apt \
--mount=type=cache,target=/var/lib/apt \
APT_OPTIONS="-o Acquire::https::mirrors.martin98.com::Verify-Peer=false -o Acquire::https::mirrors.martin98.com::Verify-Host=false" \
type=$(cat /etc/*release | grep ^ID= | cut -d= -f2) && \
release=$(cat /etc/*release | grep VERSION_CODENAME | cut -d= -f2) && \
components=$([ "${type}" = "debian" ] && echo "main contrib non-free non-free-firmware" || ([ "${type}" = "ubuntu" ] && echo "main restricted universe multiverse")) && \
echo "deb https://mirrors.martin98.com/repository/${type}-tsinghua-${release}${suite#noble}/ ${suite} ${components}"
echo "deb https://mirrors.martin98.com/repository/${type}-tsinghua-${release}/ ${suite} ${components}"
sed -i '6,$d' /etc/apt/sources.list.d/${type}.sources && \
sed -i "s|http://deb.debian.org/debian|https://mirrors.martin98.com/repository/${type}-tsinghua/|g" /etc/apt/sources.list.d/${type}.sources && \
apt update $APT_OPTIONS && apt install $APT_OPTIONS -y ca-certificates && update-ca-certificates
``` ```
#### 进入容器 #### 进入容器

View File

@ -3,4 +3,10 @@
# apt + ntp # apt + ntp
curl -sSL https://git.martin98.com/MartinFarm/init/raw/branch/main/init-apt.sh | bash curl -sSL https://git.martin98.com/MartinFarm/init/raw/branch/main/init-apt.sh | bash
# docker-ce # docker-ce
curl -sSL https://git.martin98.com/MartinFarm/init/raw/branch/main/init-docker.sh | bash curl -sSL https://git.martin98.com/MartinFarm/init/raw/branch/main/init-docker.sh | bash
# npm
curl -sSL https://git.martin98.com/MartinFarm/init/raw/branch/main/init-npm.sh | bash
# pip
curl -sSL https://git.martin98.com/MartinFarm/init/raw/branch/main/init-pip.sh | bash
# git
curl -sSL https://git.martin98.com/MartinFarm/init/raw/branch/main/init-git.sh | bash

View File

@ -1,22 +1,30 @@
#!/bin/bash #!/bin/bash
# 配置 ubuntu 源 type=$(cat /etc/*release | grep ^ID= | cut -d= -f2)
if [ -f /etc/apt/sources.list.d/ubuntu.sources ]; then release=$(cat /etc/*release | grep VERSION_CODENAME | cut -d= -f2)
cat > /etc/apt/sources.list.d/ubuntu.sources <<EOF components=$([ "${type}" = "debian" ] && echo "main contrib non-free non-free-firmware" || ([ "${type}" = "ubuntu" ] && echo "main restricted universe multiverse"))
Types: deb
URIs: https://mirrors.martin98.com/repository/ubuntu-tsinghua/ # DEB822 格式
Suites: noble noble-updates noble-backports # docker.martin98.com/library/ubuntu:latest
Components: main restricted universe multiverse # docker.martin98.com/library/debian:latest
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg if [ -f /etc/apt/sources.list.d/${type}.sources ]; then
cat > /etc/apt/sources.list.d/${type}.sources <<EOF
$(for suite in ${release} ${release}-updates ${release}-backports; do
echo "Types: deb"
echo "URIs: https://mirrors.martin98.com/repository/${type}-tsinghua-${suite}/"
echo "Suites: $suite"
echo "Components: ${components}"
echo "Signed-By: /usr/share/keyrings/${type}-archive-keyring.gpg"
echo
done)
EOF EOF
# 配置 debian 源 # 传统格式
elif [ -f /etc/apt/sources.list.d/debian.sources ]; then # docker.martin98.com/library/ubuntu:22.04
cat > /etc/apt/sources.list.d/debian.sources <<EOF elif [ -f /etc/apt/sources.list ]; then
Types: deb cat > /etc/apt/sources.list <<EOF
URIs: https://mirrors.martin98.com/repository/debian-tsinghua/ $(for suite in ${release} ${release}-updates ${release}-backports; do
Suites: bookworm bookworm-updates bookworm-backports echo "deb https://mirrors.martin98.com/repository/${type}-tsinghua-${suite}/ ${suite} ${components}"
Components: main contrib non-free non-free-firmware done)
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
EOF EOF
else else
echo "没有找到合适的源" echo "没有找到合适的源"
@ -38,8 +46,14 @@ server ntp5.aliyun.com iburst
driftfile /var/lib/chrony/drift driftfile /var/lib/chrony/drift
allow 127.0.0.1 allow 127.0.0.1
EOF EOF
if pidof systemd >/dev/null 2>&1; then if pidof systemd >/dev/null 2>&1; then
systemctl restart chrony && systemctl enable chrony systemctl restart chrony && systemctl enable chrony
else else
echo "systemctl 不存在,跳过 chrony 的重启" echo "systemctl 不存在,跳过 chrony 的重启"
fi
# fix vim 粘贴
if ! grep -q "set pastetoggle=" ~/.vimrc; then
echo "set pastetoggle=" >> ~/.vimrc
fi fi

8
init-git.sh Normal file
View File

@ -0,0 +1,8 @@
#!/bin/bash
# 检查 git 是否安装
if command -v pip &> /dev/null; then
echo "git 已安装,正在配置镜像源..."
git config --global url."https://git-proxy.hk.martin98.com/".insteadOf "https://"
echo "镜像源配置完成。"
fi

8
init-npm.sh Normal file
View File

@ -0,0 +1,8 @@
#!/bin/bash
# 检查 npm 是否安装
if command -v npm &> /dev/null; then
echo "npm 已安装,正在配置镜像源..."
npm config set registry https://mirrors.martin98.com/repository/npm-group/
echo "镜像源配置完成。"
fi

8
init-pip.sh Normal file
View File

@ -0,0 +1,8 @@
#!/bin/bash
# 检查 pip 是否安装
if command -v pip &> /dev/null; then
echo "pip 已安装,正在配置镜像源..."
pip config set global.index-url https://mirrors.martin98.com/repository/pypi-group/simple
echo "镜像源配置完成。"
fi