环境:
IntelliJ IDEA
- 云服务器一台(CentOS7)
使用Spring Boot框架搭建项目:
目录结构:
pom.xml导入依赖:
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>
Controller
@Controller public class HelloController { @RequestMapping("/") public String welcome(){ return "main"; } @RequestMapping("/hello/{name}") public String hello(@PathVariable String name, Model model){ System.out.println(name); String msg=name+"你好呀!"; model.addAttribute("msg",msg); return "hello"; } }
hello.html
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"/> </head> <body> <p th:text="${msg}">你好呀, Thymeleaf</p> </body> </html>
main.html
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"/> </head> <body> <p>Spring boot集成 Thymeleaf</p> </body> </html>
application.properties
server.port=8088
运行截图
项目打包:(主要是为了拿到war项目的名称)
当然也可以直接通过pom文件中的信息,获取war项目名称:
名称为: jekins-damo-0.0.1-SNAPSHOT.war
(1)使用gitee创建一个远程仓库
(2)在idea终端输入以下git指令:
git init git add . git status git commit -m"初次提交" git remote add origin https://gitee.com/XXXX.git #仓库地址换成自己的 git push -u origin master
指令全部执行之后会弹出对话框输入gitee账号和密码。如果没有对话框(第一次输入错误,之后默认使用该次输入的账号,不再弹出对话框),输入以下指令进行信息重置
git config --system --unset credential.helper
使用XShell连接到云服务器。
官方安装指南:https://www.jenkins.io/download/(选择适合自己操作系统的指南)。以下参考的是CentOS7对应的安装指南。
(1)进入一个指定目录方便文件管理,比如:cd /usr/local/
(2)依次输入以下指令:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key sudo yum upgrade sudo yum install epel-release java-11-openjdk-devel sudo yum install jenkins sudo systemctl daemon-reload
注:安装过程中可能会出现网络连接失败的问题。可以ctr+c先结束当前执行过程,ping一下提示信息中显示的域名,能够ping通再重新执行之前的命令
(3)启动jenkins
sudo systemctl start jenkins sudo systemctl status jenkins # 查看运行状态。看到 Active:active(running) 表示运行。状态信息中包含了Jenkins安装目录
(4)访问Jenkins运行之后的网址
http://云服务器公网ip:8080/ # 8080是Jenkins默认的端口号,如果和tomcat冲突,可以在对应的配置文件中修改
(5)根据引导进行安装即可,初始账号密码最好记住。插件根据推荐进行安装。
(6)其他指令
cat /etc/sysconfig/jenkins # 查看默认安装路径下jenkins的配置文件
ls /var/lib/jenkins/ # 查看程序主目录
jenkins:service jenkins stop # 停止
jenkins:service jenkins restart # 重启
cd /usr/local #进入一个指定的目录,方便文件管理 wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz # 下载压缩包,下载地址可以自己搜索。格式:wget url 。 tar zvxf apache-maven-3.6.1-bin.tar.gz #解压 whereis maven # 显示maven的安装路径,之后Jenkin全局配置的时候需要用到
(1)安装插件:
(2)配置maven:
添加maven的安装路径:系统设置—>全局工具配置—>Maven配置
(3)配置JDK:先使用默认值,不行再配置,配置同理
(4)配置git:先使用默认值,不行再配置,配置同理
(1)Manager webapp账号设置 修改 tomcat/conf/tomcat-user.xml 文件,用以下代码完全替换掉原本文件。(可以详细阅读原tomcat-user.xml文件中的注解说明)解释:Jenkin将项目构建好之后,会将war包部署到Tomcat中运行。为安全考虑需要设置访问tomcat所需的账号和密码
<?xml version="1.0" encoding="UTF-8"?> <tomcat-users xmlns="http://tomcat.apache.org/xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd" version="1.0"> <role rolename="manager-gui"/> <role rolename="manager-script"/> <user roles="manager-jmx"/> <user roles="manager-status"/> <---用户名和密码改成自己的-> <user username="admin" password="123" roles="manager-gui,manager-script,manager-jmx,manager-status"/> </tomcat-users>
修改 tomcat/webapps/manager/META-INF/context.xml 文件,将文件中的以下语句注释掉:
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
注:该语句表示Manager webapp 只能本地访问,远程是无法访问的。而我们需要进行远程访问,所需不能这么写。
(2)端口设置
因为Jenkins和tomcat安装在同一台服务器上,且二者的默认使用端口号都是8080,会产生冲突。所以这里将tomcat的端口号改成8081。在tomcat/conf/service.xml 文件中进行修改,将所有8080都换成8081。
(1)新建任务:选择“构建一个自由风格的软件项目”
(2)General:使用默认值即可
(3)源码管理
选择 Git —> 添加代码仓库地址 ->添加登录代码仓库的凭据(账号信息)->指定分支(使用默认值)
(4)构建触发器
选择“Gitee webhook 出发构建” .(如果没有安装gitee webhook插件这一项是没有的)
选中之后会出现一些配置项,其他都不管使用默认值。找到 Gitee WebHook密码,点击生成。
添加Gitee WebHook:进入代码仓库->管理->WebHook->添加WebHook
粘贴url和密码
(5)构建
下拉框中选中“调用顶层maven目标”(注意:如果没有在全局工具配置中设置maven这一项是没有的)
(6)构建后的步骤
选中“Deploy war/ear to a container”(如果没有安装Deploy a container插件,这一项是没有的)
WAR/EAR fire 输入:target/xxx.war(war包名称)
Tomcat远程登陆中的凭据,根据之前tomcat配置文件中设置的用户名和密码来创建。
(6)设置完毕,点击保存。
点击“立即构建”
构建成功之后,输入tomcat运行的url进行测试。此后每次推送代码都会自动部署到tomcat。
1、Jenkins官方文档
2、Jenkins for Gitee
3、Linux命令大全(手册)