主要更新: - 使用SSH私钥认证替代用户名密码认证 - 配置deploy-server-ssh-key凭据ID - 修复Jenkinsfile格式和缩进问题 - 添加SSH配置指南和企业级部署文档 技术改进: - 使用sshagent进行安全的SSH连接 - 移除sshpass依赖,提升安全性 - 统一使用root@116.62.163.84进行部署 - 优化Docker镜像传输和部署流程 新增文档: - SSH_CONFIG_GUIDE.md - SSH私钥配置指南 - ENTERPRISE_JENKINS_GUIDE.md - 企业级Jenkins部署 - jenkins-docker/ - Jenkins Docker化部署方案
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
|