@ -13,26 +13,9 @@ jobs:
|
||||
- name: 检出代码
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: 基本测试
|
||||
run: |
|
||||
echo "🚀 开始测试..."
|
||||
echo "📁 当前目录: $(pwd)"
|
||||
echo "📋 文件列表:"
|
||||
ls -la
|
||||
echo "✅ 测试完成!"
|
||||
|
||||
|
||||
|
||||
|
||||
- name: Debug Network
|
||||
run: |
|
||||
echo "Checking network from inside the job container..."
|
||||
cat /etc/resolv.conf
|
||||
curl -v http://gitea:3000/v2/ # 尝试访问registry的API端点
|
||||
|
||||
- name: 登录到Gitea Container Registry
|
||||
run: |
|
||||
echo "🔐 登录到Gitea Container Registry..."
|
||||
echo "🔐 登录到Gitea Registry..."
|
||||
|
||||
# 获取registry地址
|
||||
REGISTRY_HOST=$(echo "${{ gitea.server_url }}" | sed 's|https\?://||')
|
||||
@ -40,8 +23,6 @@ jobs:
|
||||
echo "📡 Registry地址: $REGISTRY_HOST"
|
||||
echo "👤 用户名: ${{ gitea.actor }}"
|
||||
|
||||
# echo "token: ${{ gitea.token }};actor: ${{ gitea.actor }}"
|
||||
|
||||
# 使用HTTP协议登录
|
||||
echo "${{ secrets.GITEAS_PAT }}" | docker login $REGISTRY_HOST -u "${{ gitea.actor }}" --password-stdin
|
||||
|
||||
@ -57,7 +38,12 @@ jobs:
|
||||
OWNER=${{ gitea.repository_owner }}
|
||||
LOWER_OWNER=$(echo "$OWNER" | tr '[:upper:]' '[:lower:]')
|
||||
|
||||
IMAGE_NAME="$REGISTRY_HOST/$LOWER_OWNER/hello-world-app"
|
||||
# 获取仓库名称并转换为小写
|
||||
REPO_NAME=${{ gitea.repository }}
|
||||
LOWER_REPO_NAME=$(echo "$REPO_NAME" | tr '[:upper:]' '[:lower:]')
|
||||
|
||||
# 构造完整的镜像名称 (registry/owner/repo)
|
||||
IMAGE_NAME="$REGISTRY_HOST/$LOWER_OWNER/$LOWER_REPO_NAME"
|
||||
IMAGE_TAG="latest"
|
||||
COMMIT_SHA="${{ gitea.sha }}"
|
||||
|
||||
@ -67,59 +53,26 @@ jobs:
|
||||
|
||||
# 构造镜像
|
||||
docker build -t "$IMAGE_NAME:$IMAGE_TAG" -t "$IMAGE_NAME:$COMMIT_SHA" .
|
||||
echo "✅ Docker镜像构造完成!" # 可以将此信息改为更通用
|
||||
|
||||
echo "✅ Node.js Hello World镜像构造完成!"
|
||||
# - name: 推送Docker镜像
|
||||
# run: |
|
||||
# echo "🚀 推送Docker镜像到Gitea registry..."
|
||||
|
||||
- name: 推送Docker镜像
|
||||
run: |
|
||||
echo "🚀 推送Docker镜像到Gitea registry..."
|
||||
# # 设置镜像标签
|
||||
# REGISTRY_HOST=$(echo "${{ gitea.server_url }}" | sed 's|https\?://||')
|
||||
|
||||
# 设置镜像标签
|
||||
REGISTRY_HOST=$(echo "${{ gitea.server_url }}" | sed 's|https\?://||')
|
||||
# REPO_OWNER="${{ gitea.repository_owner }}"
|
||||
# REPO_OWNER_LOWER="${REPO_OWNER,,}"
|
||||
|
||||
REPO_OWNER="${{ gitea.repository_owner }}"
|
||||
REPO_OWNER_LOWER="${REPO_OWNER,,}"
|
||||
# IMAGE_NAME="$REGISTRY_HOST/$REPO_OWNER_LOWER/hello-world-app"
|
||||
# IMAGE_TAG="latest"
|
||||
# COMMIT_SHA="${{ gitea.sha }}"
|
||||
|
||||
IMAGE_NAME="$REGISTRY_HOST/$REPO_OWNER_LOWER/hello-world-app"
|
||||
IMAGE_TAG="latest"
|
||||
COMMIT_SHA="${{ gitea.sha }}"
|
||||
# # 推送镜像
|
||||
# docker push "$IMAGE_NAME:$IMAGE_TAG"
|
||||
# docker push "$IMAGE_NAME:$COMMIT_SHA"
|
||||
|
||||
# 推送镜像
|
||||
docker push "$IMAGE_NAME:$IMAGE_TAG"
|
||||
docker push "$IMAGE_NAME:$COMMIT_SHA"
|
||||
|
||||
echo "✅ Docker镜像推送完成!"
|
||||
echo "🎉 镜像已推送到: $IMAGE_NAME:$IMAGE_TAG"
|
||||
echo "🎉 镜像已推送到: $IMAGE_NAME:$COMMIT_SHA"
|
||||
|
||||
- name: 测试镜像运行
|
||||
run: |
|
||||
echo "🧪 测试构造的镜像..."
|
||||
|
||||
REGISTRY_HOST=$(echo "${{ gitea.server_url }}" | sed 's|https\?://||')
|
||||
|
||||
REPO_OWNER="${{ gitea.repository_owner }}"
|
||||
REPO_OWNER_LOWER="${REPO_OWNER,,}"
|
||||
|
||||
IMAGE_NAME="$REGISTRY_HOST/$REPO_OWNER_LOWER/hello-world-app"
|
||||
IMAGE_TAG="latest"
|
||||
|
||||
# 运行镜像进行测试
|
||||
docker run -d --name test-container -p 3901:3000 "$IMAGE_NAME:$IMAGE_TAG"
|
||||
|
||||
# 等待容器启动
|
||||
sleep 5
|
||||
|
||||
# 测试健康检查
|
||||
echo "🔍 测试应用健康状态..."
|
||||
curl -f http://192.168.1.200:3901/health || exit 1
|
||||
|
||||
# 测试主页
|
||||
echo "🔍 测试应用主页..."
|
||||
curl -f http://192.168.1.200:3901/ || exit 1
|
||||
|
||||
# 停止并删除测试容器
|
||||
docker stop test-container
|
||||
docker rm test-container
|
||||
|
||||
echo "✅ 镜像测试完成!"
|
||||
# echo "✅ Docker镜像推送完成!"
|
||||
# echo "🎉 镜像已推送到: $IMAGE_NAME:$IMAGE_TAG"
|
||||
# echo "🎉 镜像已推送到: $IMAGE_NAME:$COMMIT_SHA"
|
||||
Reference in New Issue
Block a user