Update PHP test app - 2026-01-21 13:37:13
This commit is contained in:
57
php-test/build-and-push.sh
Executable file
57
php-test/build-and-push.sh
Executable file
@@ -0,0 +1,57 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
echo "🔨 开始构建并推送 Docker 镜像到私有仓库..."
|
||||
|
||||
# 颜色定义
|
||||
GREEN='\033[0;32m'
|
||||
BLUE='\033[0;34m'
|
||||
YELLOW='\033[1;33m'
|
||||
RED='\033[0;31m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# 配置
|
||||
REGISTRY="registry.u9.net3w.com"
|
||||
IMAGE_NAME="php-test"
|
||||
TAG="${1:-latest}"
|
||||
FULL_IMAGE="${REGISTRY}/${IMAGE_NAME}:${TAG}"
|
||||
|
||||
# 1. 构建 Docker 镜像
|
||||
echo -e "${BLUE}📦 步骤 1: 构建 Docker 镜像...${NC}"
|
||||
sudo docker build -t ${IMAGE_NAME}:${TAG} .
|
||||
echo -e "${GREEN}✅ 镜像构建完成${NC}\n"
|
||||
|
||||
# 2. 标记镜像
|
||||
echo -e "${BLUE}🏷️ 步骤 2: 标记镜像...${NC}"
|
||||
sudo docker tag ${IMAGE_NAME}:${TAG} ${FULL_IMAGE}
|
||||
echo -e "${GREEN}✅ 镜像标记完成: ${FULL_IMAGE}${NC}\n"
|
||||
|
||||
# 3. 登录私有仓库(如果需要)
|
||||
echo -e "${BLUE}🔐 步骤 3: 登录私有仓库...${NC}"
|
||||
if sudo docker login ${REGISTRY} 2>/dev/null; then
|
||||
echo -e "${GREEN}✅ 登录成功${NC}\n"
|
||||
else
|
||||
echo -e "${YELLOW}⚠️ 登录失败,尝试不使用认证推送...${NC}\n"
|
||||
fi
|
||||
|
||||
# 4. 推送镜像到私有仓库
|
||||
echo -e "${BLUE}📤 步骤 4: 推送镜像到私有仓库...${NC}"
|
||||
sudo docker push ${FULL_IMAGE}
|
||||
echo -e "${GREEN}✅ 镜像推送完成${NC}\n"
|
||||
|
||||
# 5. 显示镜像信息
|
||||
echo -e "${BLUE}📊 镜像信息:${NC}"
|
||||
echo "================================"
|
||||
echo "Registry: ${REGISTRY}"
|
||||
echo "Image: ${IMAGE_NAME}"
|
||||
echo "Tag: ${TAG}"
|
||||
echo "Full Image: ${FULL_IMAGE}"
|
||||
echo ""
|
||||
|
||||
echo -e "${GREEN}🎉 构建和推送完成!${NC}"
|
||||
echo ""
|
||||
echo -e "${YELLOW}下一步:${NC}"
|
||||
echo " 1. 提交代码到 Git: git add . && git commit -m 'Update image' && git push"
|
||||
echo " 2. ArgoCD 会自动检测并部署新版本"
|
||||
echo " 3. 或手动触发同步: kubectl apply -f argocd-app.yaml"
|
||||
Reference in New Issue
Block a user