Compare commits

..

70 Commits

Author SHA1 Message Date
168208c7bd 优化镜像打包22
All checks were successful
简单测试 / test (push) Successful in 20s
2025-07-12 22:39:35 +08:00
8b6d765f8c 优化镜像打包21
All checks were successful
简单测试 / test (push) Successful in 21s
2025-07-12 22:38:48 +08:00
1645573e8b 优化镜像打包20
All checks were successful
简单测试 / test (push) Successful in 19s
2025-07-12 22:36:52 +08:00
bb3c438b58 优化镜像打包19
All checks were successful
简单测试 / test (push) Successful in 19s
2025-07-12 22:34:30 +08:00
071248596c 优化镜像打包18
All checks were successful
简单测试 / test (push) Successful in 17s
2025-07-12 22:30:54 +08:00
4de2acea6a 优化镜像打包17
All checks were successful
简单测试 / test (push) Successful in 18s
2025-07-12 22:29:30 +08:00
b5c1870011 优化镜像打包16
Some checks failed
简单测试 / test (push) Failing after 16s
2025-07-12 22:26:48 +08:00
228ff1cf33 优化镜像打包15
All checks were successful
简单测试 / test (push) Successful in 17s
2025-07-12 22:21:07 +08:00
a6ab11f45a 优化镜像打包14
All checks were successful
简单测试 / test (push) Successful in 16s
2025-07-12 22:17:47 +08:00
7609791a68 优化镜像打包13
All checks were successful
简单测试 / test (push) Successful in 22s
2025-07-12 22:17:16 +08:00
2806775fe1 优化镜像打包12
All checks were successful
简单测试 / test (push) Successful in 21s
2025-07-12 22:09:43 +08:00
32dc352b80 优化镜像打包11
Some checks failed
简单测试 / test (push) Failing after 15s
2025-07-12 22:07:36 +08:00
e207ba67ea 优化镜像打包10
Some checks failed
简单测试 / test (push) Failing after 22s
2025-07-12 22:04:40 +08:00
57bccc607a 优化镜像打包9
Some checks failed
简单测试 / test (push) Failing after 14s
2025-07-12 22:01:04 +08:00
65ae056628 优化镜像打包8
Some checks failed
简单测试 / test (push) Failing after 17s
2025-07-12 21:59:12 +08:00
6c16385769 优化镜像打包7
Some checks failed
简单测试 / test (push) Failing after 22s
2025-07-12 21:54:30 +08:00
b35b9253ce 优化镜像打包6
All checks were successful
简单测试 / test (push) Successful in 16s
2025-07-12 21:49:07 +08:00
370e9c996a 优化镜像打包5
All checks were successful
简单测试 / test (push) Successful in 15s
2025-07-12 21:45:18 +08:00
02e47e6bc4 优化镜像打包4
All checks were successful
简单测试 / test (push) Successful in 17s
2025-07-12 21:44:10 +08:00
3d1d0e599f 优化镜像打包3
All checks were successful
简单测试 / test (push) Successful in 17s
2025-07-12 21:42:35 +08:00
f1d2bd9780 优化镜像打包log2
All checks were successful
简单测试 / test (push) Successful in 14s
2025-07-12 21:40:55 +08:00
e50810cc41 优化镜像打包log
All checks were successful
简单测试 / test (push) Successful in 16s
2025-07-12 21:39:21 +08:00
8d23003c8e 清理镜像
All checks were successful
简单测试 / test (push) Successful in 14s
2025-07-12 21:35:42 +08:00
23b4f615cc 推送Docker镜像5
All checks were successful
简单测试 / test (push) Successful in 15s
2025-07-12 21:30:35 +08:00
932c5476d0 推送Docker镜像4
Some checks failed
简单测试 / test (push) Failing after 19s
2025-07-12 21:26:07 +08:00
5291f21df0 推送Docker镜像3
Some checks failed
简单测试 / test (push) Failing after 13s
2025-07-12 21:23:56 +08:00
70353d826d 推送Docker镜像2
Some checks failed
简单测试 / test (push) Failing after 13s
2025-07-12 21:21:47 +08:00
4d63d7dbb3 推送Docker镜像1
Some checks failed
简单测试 / test (push) Failing after 18s
2025-07-12 21:19:45 +08:00
6b06318636 小写镜像名17
All checks were successful
简单测试 / test (push) Successful in 15s
2025-07-12 21:14:35 +08:00
d3871f4ad7 小写镜像名16 2025-07-12 21:13:05 +08:00
773d7ac7a5 小写镜像名15
Some checks failed
简单测试 / test (push) Failing after 10s
2025-07-12 21:12:05 +08:00
187492d64c 小写镜像名14
Some checks failed
简单测试 / test (push) Failing after 11s
2025-07-12 21:09:19 +08:00
0824e0d96d 小写镜像名13
Some checks failed
简单测试 / test (push) Failing after 10s
2025-07-12 21:02:34 +08:00
c41de67c2a 小写镜像名12
All checks were successful
简单测试 / test (push) Successful in 14s
2025-07-12 20:56:40 +08:00
e4aaa10650 小写镜像名11 2025-07-12 20:54:07 +08:00
3f553e22f5 小写镜像名10
All checks were successful
简单测试 / test (push) Successful in 13s
2025-07-12 20:51:48 +08:00
d3a21f0735 小写镜像名9
All checks were successful
简单测试 / test (push) Successful in 17s
2025-07-12 20:49:17 +08:00
7838ef5cdf 小写镜像名8
Some checks failed
简单测试 / test (push) Failing after 10s
2025-07-12 20:47:22 +08:00
8eaebe3da3 小写镜像名7
Some checks failed
简单测试 / test (push) Failing after 11s
2025-07-12 20:43:24 +08:00
ec6040b349 小写镜像名6
Some checks failed
简单测试 / test (push) Failing after 12s
2025-07-12 20:41:24 +08:00
1f7a2008a7 小写镜像名5
All checks were successful
简单测试 / test (push) Successful in 17s
2025-07-12 20:39:44 +08:00
7700d4395f gitea变量4
All checks were successful
简单测试 / test (push) Successful in 14s
2025-07-12 20:37:53 +08:00
471ed73853 gitea变量3
Some checks failed
简单测试 / test (push) Failing after 10s
2025-07-12 20:35:42 +08:00
2913fe38ef gitea变量2
All checks were successful
简单测试 / test (push) Successful in 19s
2025-07-12 20:34:38 +08:00
e1d2fa993b gitea变量
All checks were successful
简单测试 / test (push) Successful in 14s
2025-07-12 20:33:03 +08:00
5f4c6b7f30 小写镜像名4
All checks were successful
简单测试 / test (push) Successful in 14s
2025-07-12 20:29:23 +08:00
33be399d7d 小写镜像名3
Some checks failed
简单测试 / test (push) Failing after 11s
2025-07-12 20:24:52 +08:00
8cbf79b5bf 小写镜像名2
Some checks failed
简单测试 / test (push) Failing after 10s
2025-07-12 20:22:26 +08:00
8ed0d974e1 小写镜像名
Some checks failed
简单测试 / test (push) Failing after 11s
2025-07-12 20:21:42 +08:00
21f5eefac8 qq
All checks were successful
简单测试 / test (push) Successful in 13s
2025-07-12 20:08:56 +08:00
ffc441f6c2 t1
All checks were successful
简单测试 / test (push) Successful in 16s
2025-07-12 20:07:29 +08:00
421570648a ttt
All checks were successful
简单测试 / test (push) Successful in 28s
2025-07-12 18:58:11 +08:00
f176b395e6 qwe
All checks were successful
简单测试 / test (push) Successful in 46s
2025-07-12 17:38:14 +08:00
0125105b36 zxc
Some checks failed
简单测试 / test (push) Failing after 11s
2025-07-12 17:37:06 +08:00
83eb229754 zxc
Some checks failed
简单测试 / test (push) Failing after 11s
2025-07-12 17:36:19 +08:00
1374281c52 sss
Some checks failed
简单测试 / test (push) Failing after 10s
2025-07-12 17:21:44 +08:00
b53bf6366b tq
Some checks failed
简单测试 / container (push) Failing after 0s
简单测试 / test (push) Failing after 33s
2025-07-12 17:16:04 +08:00
31d063c02f zxc
Some checks failed
简单测试 / test (push) Failing after 33s
2025-07-12 17:13:14 +08:00
b9962362b4 t2
Some checks failed
简单测试 / test (push) Failing after 46s
2025-07-12 16:54:00 +08:00
8fb8f5e90c t2
Some checks failed
简单测试 / test (push) Failing after 43s
简单测试 / container (push) Failing after 0s
2025-07-12 16:52:49 +08:00
2e117b3786 zxc
Some checks failed
简单测试 / test (push) Failing after 1m25s
2025-07-12 15:30:36 +08:00
7263dc4747 qwe 2025-07-12 15:26:58 +08:00
a3d0fd833f zxc11 2025-07-12 15:24:37 +08:00
622c1de8bd qwe 2025-07-12 15:13:06 +08:00
4d6c23f4fe qwe 2025-07-12 15:11:26 +08:00
7d60e7834b zxc 2025-07-12 15:10:19 +08:00
f9a5842ea3 t2 2025-07-12 15:08:22 +08:00
5f7dc383f4 t1 2025-07-12 15:00:32 +08:00
ade8723f9a zxc 2025-07-12 14:58:39 +08:00
487ae9cb46 asd 2025-07-12 14:56:53 +08:00
2 changed files with 53 additions and 94 deletions

View File

@ -12,132 +12,89 @@ jobs:
- name: 检出代码
uses: actions/checkout@v4
- name: 基本测试
- name: 计算并设置环境变量
run: |
echo "🚀 开始测试..."
echo "📁 当前目录: $(pwd)"
echo "📋 文件列表:"
ls -la
echo "✅ 测试完成!"
echo "📦 计算并设置后续步骤所需的环境变量..."
# 计算 REPO_NAME
REPOSITORY="${{ gitea.repository }}"
echo "REPOSITORY=$REPOSITORY" >> $GITHUB_ENV
- name: 配置Docker不安全registry
run: |
echo "🔧 配置Docker允许不安全的registry..."
# 使用 bash 的字符串替换功能截取,确保兼容性
REPO_NAME=$(echo "${REPOSITORY#*/}" | tr '[:upper:]' '[:lower:]') # 从第一个 / 后面开始截取
echo "➡️ 计算出的仓库名称: $REPO_NAME"
# 获取registry地址
# 将 REPO_NAME 写入 $GITHUB_ENV使其对后续步骤可用
echo "REPO_NAME=$REPO_NAME" >> $GITHUB_ENV
# 计算 REGISTRY_HOST,使用 sed 移除 http:// 或 https://
REGISTRY_HOST=$(echo "${{ gitea.server_url }}" | sed 's|https\?://||')
echo "📡 Registry地址: $REGISTRY_HOST"
echo "➡️ 计算出的Registry地址: $REGISTRY_HOST"
# 停止Docker服务
echo "🔧 停止Docker服务..1"
sudo service docker stop
echo "🔧 停止Docker服务..2"
sudo systemctl stop docker
# 将 REGISTRY_HOST 写入 $GITHUB_ENV使其对后续步骤可用
echo "REGISTRY_HOST=$REGISTRY_HOST" >> $GITHUB_ENV
# 配置daemon.json
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
"insecure-registries": ["$REGISTRY_HOST"],
"registry-mirrors": []
}
EOF
# 启动Docker服务
echo "🔧 启动Docker服务..."
sudo systemctl start docker
sudo service docker start
# 等待Docker启动
sleep 10
# 验证Docker状态
# docker info | grep -i insecure || true
echo "✅ Docker配置完成"
#远程镜像路径
REMOTE_IMAGE_PATH="$REGISTRY_HOST/$REPOSITORY"
echo "REMOTE_IMAGE_PATH=$REMOTE_IMAGE_PATH" >> $GITHUB_ENV
echo "✅ 环境变量设置完成!"
- name: 登录到Gitea Container Registry
run: |
echo "🔐 登录到Gitea Container Registry..."
# 获取registry地址
REGISTRY_HOST=$(echo "${{ gitea.server_url }}" | sed 's|https\?://||')
cat /etc/docker/daemon.json
echo "🔐 登录到Gitea Registry..."
echo "📡 Registry地址: $REGISTRY_HOST"
echo "👤 用户名: ${{ gitea.actor }}"
# 使用HTTP协议登录
echo "${{ gitea.token }}" | docker login $REGISTRY_HOST -u "${{ gitea.actor }}" --password-stdin
echo "${{ secrets.GITEAS_PAT }}" | docker login $REGISTRY_HOST -u "${{ gitea.actor }}" --password-stdin
echo "✅ 登录成功!"
- name: 构造Docker镜像
run: |
echo "🐳 构造Node.js Hello World应用镜像..."
# 设置镜像标签
REGISTRY_HOST=$(echo "${{ gitea.server_url }}" | sed 's|https\?://||')
OWNER=${{ gitea.repository_owner }}
LOWER_OWNER=$(echo "$OWNER" | tr '[:upper:]' '[:lower:]')
IMAGE_NAME="$REGISTRY_HOST/$LOWER_OWNER/hello-world-app"
IMAGE_TAG="latest"
COMMIT_SHA="${{ gitea.sha }}"
echo "📦 镜像名称: $IMAGE_NAME"
echo "🏷️ 镜像标签: $IMAGE_TAG"
echo "📋 提交SHA: $COMMIT_SHA"
# 构造镜像
docker build -t "$IMAGE_NAME:$IMAGE_TAG" -t "$IMAGE_NAME:$COMMIT_SHA" .
echo "✅ Node.js Hello World镜像构造完成"
BUILD_IMAGE_CMD="docker build -t $REPOSITORY:latest ."
echo "📦 构造Docker镜像命令: $BUILD_IMAGE_CMD" && eval $BUILD_IMAGE_CMD
echo "✅ Docker镜像构造完成" # 可以将此信息改为更通用
- name: 推送Docker镜像
run: |
echo "🚀 推送Docker镜像到Gitea registry..."
# 设置镜像标签
REGISTRY_HOST=$(echo "${{ gitea.server_url }}" | sed 's|https\?://||')
IMAGE_NAME="$REGISTRY_HOST/${{ gitea.repository_owner }}/hello-world-app"
IMAGE_TAG="latest"
COMMIT_SHA="${{ gitea.sha }}"
#远程镜像路径
IMAGE_PATH="$REGISTRY_HOST/$REPOSITORY"
echo "🔍 远程镜像路径: $IMAGE_PATH"
# 推送镜像
docker push "$IMAGE_NAME:$IMAGE_TAG"
docker push "$IMAGE_NAME:$COMMIT_SHA"
#打SHA标签
TAG_IMAGE_CMD="docker tag $REPOSITORY $IMAGE_PATH:${{ gitea.sha }}"
echo "🏷️ 打标签命令: $TAG_IMAGE_CMD" && eval $TAG_IMAGE_CMD
#推送SHA标签
PUSH_IMAGE_CMD="docker push $IMAGE_PATH:${{ gitea.sha }}"
echo "🔍 推送SHA标签:$PUSH_IMAGE_CMD" && eval $PUSH_IMAGE_CMD
sleep 1
#打latest标签
TAG_IMAGE_CMD="docker tag $REPOSITORY $IMAGE_PATH:latest"
echo "🏷️ 打标签命令: $TAG_IMAGE_CMD" && eval $TAG_IMAGE_CMD
#推送latest镜像
PUSH_IMAGE_CMD="docker push $IMAGE_PATH:latest"
echo "🔍 推送镜像 :$PUSH_IMAGE_CMD" && eval $PUSH_IMAGE_CMD
echo "✅ Docker镜像推送完成"
echo "🎉 镜像已推送到: $IMAGE_NAME:$IMAGE_TAG"
echo "🎉 镜像已推送到: $IMAGE_NAME:$COMMIT_SHA"
- name: 测试镜像运行
- name: 清理Docker镜像
run: |
echo "🧪 测试构造的镜像..."
echo "🔍 获取 kagami/action_test 镜像 ID..."
IMAGE_ID=$(docker images -q $REPOSITORY)
REGISTRY_HOST=$(echo "${{ gitea.server_url }}" | sed 's|https\?://||')
IMAGE_NAME="$REGISTRY_HOST/${{ gitea.repository_owner }}/hello-world-app"
IMAGE_TAG="latest"
echo "🔍 获取 kagami/action_test 镜像 ID: $IMAGE_ID"
# 运行镜像进行测试
docker run -d --name test-container -p 3000:3000 "$IMAGE_NAME:$IMAGE_TAG"
docker rmi -f "$IMAGE_ID" || true
# 等待容器启动
sleep 5
# 测试健康检查
echo "🔍 测试应用健康状态..."
curl -f http://localhost:3000/health || exit 1
# 测试主页
echo "🔍 测试应用主页..."
curl -f http://localhost:3000/ || exit 1
# 停止并删除测试容器
docker stop test-container
docker rm test-container
echo "✅ 镜像测试完成!"
echo "✅ Docker镜像清理完成"

2
config.yml Normal file
View File

@ -0,0 +1,2 @@
container:
network: "t1"