Files
ljwx-health/docker/compose/jenkins/shared-library/vars/buildDockerImage.groovy
T
bruno 8c3881bf89 🚀 feat: 企业级CI/CD基础设施完整部署方案
✨ 新功能:
- 一键自动化部署脚本 (build-infra.sh)
- 统一端口配置 (3开头端口,避免冲突)
- 多平台Docker构建支持 (AMD64 + ARM64)
- Jenkins Configuration as Code (零手动配置)
- 完整的服务验证和健康检查

🏗️ 核心组件:
- Jenkins LTS + JDK21 (端口38080)
- Gitea 1.21 (端口33000, SSH: 32222)
- Docker Registry + UI (端口35001/35002)
- 统一cicd-network网络

📋 管理工具:
- 自动化部署和验证脚本
- 健康检查和日志管理工具
- 完整的文档和故障排查指南

🎯 已验证功能:
- 所有服务正常启动和运行
- API和Web界面完全可访问
- 多平台构建环境就绪
- 完整的CI/CD流水线支持

适用环境: Mac Studio M2 + Docker Desktop
2025-08-23 22:11:50 +08:00

20 lines
631 B
Groovy

def call(Map config) {
def registry = config.registry ?: 'localhost:5001'
def appName = config.appName ?: env.JOB_NAME.split('/')[0]
def imageTag = config.imageTag ?: "${env.BUILD_NUMBER}-${env.GIT_COMMIT[0..7]}"
def credentialsId = config.credentialsId ?: 'registry-auth'
echo "构建Docker镜像: ${registry}/${appName}:${imageTag}"
script {
def image = docker.build("${registry}/${appName}:${imageTag}")
docker.withRegistry("http://${registry}", credentialsId) {
image.push()
image.push("latest")
}
return image
}
}