在Ubuntu上部署Java项目的步骤可以根据具体的项目类型和使用的工具有所不同。以下是一个基本的部署流程,包括使用Jenkins和Docker进行自动化部署的示例:
sudo apt update
sudo apt upgrade
sudo apt install vim wget curl -y
sudo apt install openjdk-11-jdk -y
编辑~/.bashrc
文件,添加以下内容:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
使修改生效:
source ~/.bashrc
java -version
cd /usr/local
sudo wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.74/bin/apache-tomcat-9.0.74.tar.gz
sudo tar xzf apache-tomcat-9.0.74.tar.gz
sudo mv apache-tomcat-9.0.74 tomcat
编辑~/.bashrc
文件,添加以下内容:
export CATALINA_HOME=/usr/local/tomcat
export PATH=$CATALINA_HOME/bin:$PATH
使修改生效:
source ~/.bashrc
$CATALINA_HOME/bin/startup.sh
打开浏览器,访问http://your_server_ip:8080
,如果看到Tomcat默认页面,则说明安装成功。
使用Maven或Gradle等构建工具将项目打包成WAR文件。例如,使用Maven:
mvn clean package
将生成的WAR文件上传到Tomcat的webapps
目录下。
cp target/your-application.war $CATALINA_HOME/webapps/
Tomcat会自动解压并部署WAR文件。你可以访问http://your_server_ip:8080/your-application
查看应用是否正常运行。
docker run --name jenkins -u root --rm -d -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean
访问http://your_server_ip:8080
,按照提示完成Jenkins的初始化和插件安装。
在Jenkins中创建一个新的Pipeline Job,配置Git仓库地址、构建触发器、构建脚本等。
在Jenkins中安装Docker插件,并配置Docker镜像和容器。
在项目的根目录下创建一个Jenkinsfile
,定义构建和部署的步骤。
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'mvn clean package'
}
}
stage('Docker Build') {
steps {
script {
docker.build("your-application:${env.BUILD_ID}")
}
}
}
stage('Docker Push') {
steps {
script {
docker.withRegistry('https://registry.hub.docker.com', 'docker-credentials') {
docker.image("your-application:${env.BUILD_ID}").push()
}
}
}
}
stage('Deploy to Tomcat') {
steps {
script {
sh "$CATALINA_HOME/bin/shutdown.sh"
sleep 10
cp target/*.war $CATALINA_HOME/webapps/
sh "$CATALINA_HOME/bin/startup.sh"
}
}
}
}
}
可以通过Jenkins的Web界面手动触发Job,或者配置Webhook自动触发。
以上步骤提供了一个基本的Java项目部署流程,具体步骤可能会根据项目的实际情况和使用的工具有所不同。