java_demo/jenkins-docker/deploy-jenkins.sh

83 lines
2.1 KiB
Bash
Raw Permalink Normal View History

#!/bin/bash
# Jenkins Docker部署脚本 - 支持JDK 17
# 使用方法: ./deploy-jenkins.sh
set -e
echo "🚀 开始部署Jenkins with JDK 17..."
# 检查Docker是否安装
if ! command -v docker &> /dev/null; then
echo "❌ Docker未安装请先安装Docker"
exit 1
fi
if ! command -v docker-compose &> /dev/null; then
echo "❌ Docker Compose未安装请先安装Docker Compose"
exit 1
fi
# 创建必要的目录
mkdir -p jenkins_data
mkdir -p jenkins-docker
echo "📁 创建Jenkins配置目录..."
# 设置权限
sudo chown -R 1000:1000 jenkins_data
echo "🐳 构建并启动Jenkins容器..."
# 进入jenkins-docker目录
cd jenkins-docker
# 构建并启动服务
docker-compose up -d --build
echo "⏳ 等待Jenkins启动..."
sleep 30
# 检查容器状态
echo "📊 检查容器状态..."
docker-compose ps
# 获取Jenkins初始密码
echo "🔑 获取Jenkins初始密码..."
if [ -f "../jenkins_data/secrets/initialAdminPassword" ]; then
echo "Jenkins初始密码:"
cat ../jenkins_data/secrets/initialAdminPassword
else
echo "等待Jenkins完全启动..."
sleep 60
if [ -f "../jenkins_data/secrets/initialAdminPassword" ]; then
echo "Jenkins初始密码:"
cat ../jenkins_data/secrets/initialAdminPassword
else
echo "从容器中获取密码:"
docker exec jenkins-custom cat /var/jenkins_home/secrets/initialAdminPassword 2>/dev/null || echo "密码文件还未生成,请稍后再试"
fi
fi
echo ""
echo "✅ Jenkins部署完成"
echo "🌐 访问地址: http://localhost:15008"
echo "🌐 如果是远程服务器: http://YOUR_SERVER_IP:15008"
echo ""
echo "📋 配置信息:"
echo " - Jenkins端口: 15008"
echo " - SonarQube端口: 15010"
echo " - 数据目录: ./jenkins_data"
echo ""
echo "🔧 接下来请:"
echo "1. 浏览器访问Jenkins"
echo "2. 使用上面的初始密码登录"
echo "3. 安装推荐插件"
echo "4. 创建管理员用户"
echo "5. 配置项目Pipeline"
# 显示容器日志
echo ""
echo "📄 Jenkins启动日志 (最后20行):"
docker logs --tail 20 jenkins-custom