Ubuntu 上搭建 JSP 项目的持续集成一 架构与准备运行环境:安装 OpenJDK 11 或 17(Jenkins 要求 Java 8+),验证命令:java -version。构建工具:安装 Maven(用于拉取依赖并打包 WAR),验证命令:mvn -v。版本控制:安装 Git,验证命令:git --version。应用容器:准备 Apache Tomcat 9(JSP 运行容器),建议将 Tomcat 安装至 /opt/tomcat 并配置好环境变量(如 JAVA_HOME、CATALINA_
想在Ubuntu系统上为你的JSP项目搭建一套靠谱的持续集成环境?这事儿说简单不简单,但理清了脉络,其实也没那么复杂。核心就是让代码从提交到部署,实现自动化流水线。下面咱们就来一步步拆解,从环境准备到任务执行,把每个环节的关键点都捋清楚。
正所谓“工欲善其事,必先利其器”。在开搞Jenkins之前,先把运行环境这个地基打牢。需要准备的几样核心工具,一个都不能少:
java -version验证一下。mvn -v检查是否安装成功。git --version确认。/opt/tomcat目录,并配置好JAVA_HOME、CATALINA_HOME等关键环境变量。把这些基础组件搭建好,就等于为整个CI/CD流水线铺好了跑道。
基础环境就绪,接下来就是主角Jenkins的登场了。这里提供两种主流的安装方式,可以根据你的运维习惯来选择。
sudo apt update
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c ‘echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list’
sudo apt update && sudo apt install -y jenkins
sudo systemctl start jenkins && sudo systemctl enable jenkins。http://<你的服务器IP>:8080。初始管理员密码可以在/var/lib/jenkins/secrets/initialAdminPassword这个文件里找到。docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts
初始密码通过docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword命令获取。
无论用哪种方式,安装完毕后,如果系统启用了UFW防火墙,记得放行8080端口(或者你自定义的端口)。
第一次进入Jenkins管理界面,它会提示你安装插件。直接选择“安装推荐插件”是个省事的办法。不过,为了后续更好地支持JSP项目,建议再补充安装几个核心插件:Git Plugin、Maven Integration Plugin和Pipeline Plugin(后者能让你以可视化的方式管理复杂的流水线)。
插件装好,接下来是关键一步:配置全局工具。进入“Manage Jenkins” -> “Global Tool Configuration”:
/usr/bin/git。这个配置相当于给Jenkins配备了“编译工具链”,后面所有项目的构建都会调用这里设定的工具。
工具都配好了,现在可以创建具体的构建任务了。主要有两种风格,适合不同阶段的团队。
H/5 * * * * 表示每5分钟检查一次代码库是否有变更。clean package,这会在项目目录下生成target/xxx.war文件。pipeline {
agent any
tools {
jdk ‘openjdk-11’
maven ‘maven-3.8.6’
}
stages {
stage(‘Checkout’) {
steps { git branch: ‘main’, url: ‘https://github.com/yourname/jsp-project.git’ }
}
stage(‘Build’) {
steps { sh ‘mvn clean package’ }
}
stage(‘Test’){
steps { sh ‘mvn test’ }
}
stage(‘Deploy’){
when { branch ‘main’ } // 仅对 main 分支执行部署
steps {
sshagent([‘tomcat-ssh-credentials’]) { // 使用SSH凭证
sh ‘scp target/*.war user@tomcat-server:/opt/tomcat/webapps/’
sh ‘ssh user@tomcat-server “systemctl restart tomcat”’
}
}
}
}
post {
success {
emailext body: ‘Build succeeded: ${BUILD_URL}’,
subject: ‘JSP Project Build Success’,
to: ‘dev@example.com’
}
failure {
emailext body: ‘Build failed: ${BUILD_URL}’,
subject: ‘JSP Project Build Failure’,
to: ‘dev@example.com’
}
}
}
这个脚本清晰地定义了四个阶段:拉取代码、编译构建、运行测试、部署到Tomcat。部署阶段通过SSH免密登录,将WAR包拷贝到远程Tomcat服务器并重启服务。注意,其中用到的SSH凭证需要在Jenkins的“凭据”管理中预先配置好。
把流水线跑起来只是第一步,要让它在生产环境中稳定、安全地运行,还有一些要点需要关注。
/opt/tomcat/webapps目录并重启Tomcat。如果是跨机器部署,则建议像上面Pipeline示例那样,使用SSH免密或Tomcat Manager API来远程操作。-Xmx2048m),防止构建过程中内存溢出(OOM)。JENKINS_HOME目录(可以使用ThinBackup这类插件),这是Jenkins的所有配置和数据的根本,容不得闪失。把这些都做到位,一套健壮、自动化的JSP项目持续集成环境,就算真正搭建完成了。剩下的,就是享受代码提交后自动测试、打包、部署带来的顺畅感了。
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述