✨ 新功能: - 一键自动化部署脚本 (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
20 lines
631 B
Groovy
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
|
|
}
|
|
}
|