如何在Ubuntu上高效部署Jenkins
sudo apt update && sudo apt upgrade -y,确保系统软件包为最新版本,避免兼容性问题。sudo apt install -y openjdk-11-jdk),并通过java -version验证安装成功。wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -(若使用Ubuntu 22.04+,建议使用sudo wget -O /usr/share/keyrings/jenkins-keyring.asc https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key更安全)。echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list,确保软件包来源可信。sudo apt update,同步官方源的最新软件包信息。sudo apt install -y jenkins,自动解决依赖并完成安装。sudo systemctl start jenkins,立即启动Jenkins服务;sudo systemctl enable jenkins,设置开机自启。sudo systemctl status jenkins,确认服务运行正常(显示“active (running)”)。sudo cat /var/lib/jenkins/secrets/initialAdminPassword,复制输出的密码。http://<服务器IP>:8080,输入初始密码完成解锁。/etc/default/jenkins,调整JAVA_ARGS参数(如-Xmx4096m设置最大堆内存为4GB),避免因内存不足导致构建失败。/var/lib/jenkins)迁移至SSD分区,或通过-v jenkins_data:/var/jenkins_home(Docker部署)挂载SSD卷,提升文件读写速度。-Xms(初始堆)和-Xmx(最大堆),避免频繁GC(如-Xms2048m -Xmx4096m)。sh(执行Shell)或bat(执行批处理)命令,缩短构建时间。parallel指令(如stage('Test') { parallel { stage('Unit Test') { ... } stage('Integration Test') { ... } } }),同时执行多个独立任务,提高效率。mvn -Dmaven.repo.local=/tmp/m2repo clean install),避免重复下载依赖。Java VisualVM或JConsole监控Jenkins的CPU、内存、线程使用情况,及时发现性能瓶颈。sh 'rm -rf */target'),删除旧构建生成的临时文件,释放磁盘空间。/var/lib/jenkins(或Docker卷),可使用rsync或tar命令,防止数据丢失。sudo apt update && sudo apt install -y docker.io安装Docker;sudo systemctl start docker && sudo systemctl enable docker启动并设置开机自启。sudo docker run hello-world,确认Docker运行正常。sudo docker pull jenkins/jenkins:lts(选择LTS版本,稳定性更高)。sudo docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkins/jenkins:lts(-v挂载数据卷和Docker套接字,实现数据持久化和Docker-in-Docker功能)。http://<服务器IP>:8080,获取容器内初始密码(sudo docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword)完成解锁。