83 lines
2.1 KiB
Bash
83 lines
2.1 KiB
Bash
|
#!/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
|