Jenkins是基于Java的自动化工具,需先安装Java运行环境(推荐OpenJDK 11)。在Debian终端执行以下命令:
sudo apt update && sudo apt upgrade -y # 更新系统包 sudo apt install openjdk-11-jdk -y # 安装OpenJDK 11 java -version # 验证安装(显示版本信息即成功) wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add - # 导入GPG密钥 echo "deb http://pkg.jenkins.io/debian-stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list # 添加仓库源 sudo apt update && sudo apt install jenkins -y # 安装Jenkins sudo systemctl enable jenkins # 设置开机自启 sudo systemctl start jenkins # 启动Jenkins服务 首次访问需输入初始管理员密码,通过以下命令获取:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword 打开浏览器访问http://<服务器IP>:8080,粘贴密码完成解锁。
进入“Manage Jenkins” → “Manage Plugins”,选择“Recommended plugins”安装以下核心插件:
进入“Manage Jenkins” → “Manage Users”,点击“Create User”,填写用户名、密码、邮箱等信息,完成创建后可禁用默认的“admin”用户。
若系统启用UFW防火墙,需开放Jenkins默认端口:
sudo ufw allow 8080/tcp # 开放Web界面端口 sudo ufw reload # 重载防火墙规则 进入Jenkins首页,点击“New Item”,输入任务名称(如deploy-demo),选择“Pipeline”,点击“OK”。
H/5 * * * *表示每5分钟检测一次)或“Webhook”(Git仓库推送时触发,需配置服务器Webhook地址);https://github.com/your-repo/demo.git),并添加凭据(SSH私钥或账号密码);Jenkinsfile)。在项目根目录创建Jenkinsfile,定义自动化流程(以下示例为Java项目的构建与部署):
pipeline { agent any // 使用任意可用节点 environment { DEPLOY_SERVER = 'user@your-deploy-server' // 目标服务器账号 DEPLOY_PATH = '/opt/app/demo' // 部署目录 SSH_KEY = credentials('your-ssh-key-id') // 绑定的SSH密钥凭据ID } stages { stage('Checkout') { steps { git branch: 'main', url: 'https://github.com/your-repo/demo.git' // 拉取代码 } } stage('Build') { steps { sh 'mvn clean package' // Maven构建(根据项目类型调整命令) } } stage('Test') { steps { sh 'mvn test' // 运行单元测试 } } stage('Deploy') { steps { sshagent([SSH_KEY]) { // 使用SSH密钥免密登录 sh """ scp target/*.jar ${DEPLOY_SERVER}:${DEPLOY_PATH}/app.jar ssh ${DEPLOY_SERVER} "cd ${DEPLOY_PATH} && nohup java -jar app.jar > /dev/null 2>&1 &" """ } } } } post { success { mail to: 'team@example.com', subject: "构建成功: ${currentBuild.fullDisplayName}", body: "项目已成功部署到目标服务器!" } failure { mail to: 'team@example.com', subject: "构建失败: ${currentBuild.fullDisplayName}", body: "请检查日志排查问题!" } } } git push origin main);/opt/app/demo/app.jar是否存在,且服务已启动(可通过ps -ef | grep java或访问应用接口验证)。~/.ssh/id_rsa.pub)添加到目标服务器的~/.ssh/authorized_keys中,或在Jenkins中配置SSH密钥凭据;