ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Jenkins部署JavaWeb项目——HelloWorld

2021-12-12 12:03:32  阅读:172  来源: 互联网

标签:git JavaWeb tomcat HelloWorld maven jenkins Jenkins 安装


Jenkins部署JavaWeb项目——HelloWorld

环境:

  • IntelliJ IDEA 

  • 云服务器一台(CentOS7)

1. 创建JavaWeb项目

使用Spring Boot框架搭建项目:

img

目录结构:

img

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

运行截图

img

img

项目打包:(主要是为了拿到war项目的名称)

 当然也可以直接通过pom文件中的信息,获取war项目名称:

名称为: jekins-damo-0.0.1-SNAPSHOT.war

 

2. 推送到代码仓库

(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

3. 软件安装

 使用XShell连接到云服务器。

3.1 安装Jenkins

官方安装指南: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  # 重启

3.2 安装maven

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全局配置的时候需要用到

 

4. Jenkins配置

(1)安装插件:

  • 插件1:Deploy a container(如列表中不存在,则点击 Check now 更新插件列表)
  • 插件2:Gitee (如列表中不存在 ,则点击 Check now 更新插件列表)
  • 安装之后重启jenkins

(2)配置maven:

添加maven的安装路径:系统设置—>全局工具配置—>Maven配置

(3)配置JDK:先使用默认值,不行再配置,配置同理

(4)配置git:先使用默认值,不行再配置,配置同理

 

5. Jenkins创建新任务

5.1 修改Tomcat配置文件

解释:Jenkin将项目构建好之后,会将war包部署到Tomcat中运行。为安全考虑需要设置访问tomcat所需的账号和密码

(1)Manager webapp账号设置 修改 tomcat/conf/tomcat-user.xml 文件,用以下代码完全替换掉原本文件。(可以详细阅读原tomcat-user.xml文件中的注解说明)
<?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。

5.2 Jenkins构建配置

(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)设置完毕,点击保存。

 

6、测试

点击“立即构建”

构建成功之后,输入tomcat运行的url进行测试。此后每次推送代码都会自动部署到tomcat。

 

7. 参考

1、Jenkins官方文档

2、Jenkins for Gitee

3、Linux命令大全(手册)

标签:git,JavaWeb,tomcat,HelloWorld,maven,jenkins,Jenkins,安装
来源: https://www.cnblogs.com/qjy-coding/p/15678441.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有