name: 简单测试 on: push: pull_request: jobs: test: runs-on: ubuntu-latest steps: - name: 检出代码 uses: actions/checkout@v4 - name: 基本测试 run: | echo "🚀 开始测试..." echo "📁 当前目录: $(pwd)" echo "📋 文件列表:" ls -la echo "✅ 测试完成!" - name: 设置Docker构造环境 uses: docker/setup-buildx-action@v3 - name: 登录到Gitea Container Registry uses: docker/login-action@v3 with: registry: ${{ gitea.server_url }} username: ${{ gitea.actor }} password: ${{ gitea.token }} - name: 构造Docker镜像 run: | echo "🐳 构造Node.js Hello World应用镜像..." # 设置镜像标签 IMAGE_NAME="${{ gitea.server_url }}/${{ gitea.repository_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镜像构造完成!" - name: 推送Docker镜像 run: | echo "🚀 推送Docker镜像到Gitea registry..." # 设置镜像标签 IMAGE_NAME="${{ gitea.server_url }}/${{ gitea.repository_owner }}/hello-world-app" IMAGE_TAG="latest" COMMIT_SHA="${{ gitea.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 "🧪 测试构造的镜像..." IMAGE_NAME="${{ gitea.server_url }}/${{ gitea.repository_owner }}/hello-world-app" IMAGE_TAG="latest" # 运行镜像进行测试 docker run -d --name test-container -p 3000:3000 "$IMAGE_NAME:$IMAGE_TAG" # 等待容器启动 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 "✅ 镜像测试完成!"