Jenkins的安装, 配置, 以及Maven项目自动部署示例

简介: 一. Jenkins官网 https://jenkins.io 二. Windows安装Jenkins 1. 下载msi文件并安装 msi下载路径: https://jenkins.io/content/thank-you-downloading-windows-installer/ 2.

一. Jenkins官网

https://jenkins.io

二. Windows安装Jenkins

1. 下载msi文件并安装

msi下载路径: https://jenkins.io/content/thank-you-downloading-windows-installer/

2. 访问页面

安装后程序会自动创建了一个Windows服务, Jenkins默认使用的端口是8080, 在浏览器中输入地址: http://127.0.0.1:8080.

3. 更改端口号

方式一. (此方式是命令行启动Jenkins)
在Jenkins根目录执行如下命令启动服务:

java -jar jenkins.war --httpPort=8081

方式二. (此方式是通过Windows服务启动Jenkins)
在Jenkins根目录下的jenkins.xml中搜索httpPort, 将其后面默认的8080改为要设置的端口号, 改好后重新启动Jenkins的Windows服务.

4. 根据提示输入密钥并安装所需要的插件, 如果不知道需要哪些插件, 安装标准配置插件即可.

三. Docker安装Jenkins

version: "3.5"

services:
 jenkins:
  image: jenkins:2.60.3
  restart: always
  container_name: jenkins
  ports:
   - "8080:8080"
  volumes:
   - type: bind
     source: /home/paul/docker/myvolume/jenkins/home
     target: /var/jenkins_home

四. Jenkins配置用户权限

1. 点击左侧的Manage Jenkins --> Configure Global Security, 选择Enable security, Jenkins’ own user database, Allow users to sign up, Matrix-based security, 在Anonymous Users这一行全部打钩, 点击保存.

01

2. 退出登录, 注册新账户, 然后用新账户登录, 同样点开上一步页面, 取消Allow users to sign up, 取消Anonymous Users这一行的打钩, 在User/group to add这里填写新注册的账户, 点击Add, 在paul这一行全部打钩, 点击保存.

02

3. 新建的paul用户拥有所有的权限, 可以根据需要更改权限, 并且设置后Jenkins不允许注册新账号

五. Jenkins汉化

1. 个人建议: 各种软件, 官网, 文档等尽量不汉化, 看不懂的去查去学, 毕竟翻译过来的可能会错误理解原意.

2. 使用中文版的Google浏览器, 并把语言设置成了中文. 语言配置在设置页.

01

3. 安装插件: Manage Jenkins --> Manage Plugins 选中Avaliable这一栏, 在右侧搜索: Locale, 选择Install without restart安装

02

4. 出现success表示安装成功

03

5. 安装插件: Manage Jenkins --> Configure System, 找到Locale, 填写zh_CN, 并在Ignore browser...这一项打钩, 保存.

04

六. Jenkins自动部署Maven项目

1. 在安装了基本配置的那些插件后, 需要再安装两个插件:

Maven Integration plugin
Publish Over SSH

2. 配置JDK, Maven, Git

(1) Manage Jenkins --> Global Tool Configuration

01

(2) 设置本地JDK的安装路径(若不使用本地已有的JDK, 可选中Install automatically, Jenkins会自动安装)

02

(3) 设置本地Maven的安装路径(若不使用本地已有的Maven, 可选中Install automatically, Jenkins会自动安装)

03

(4) 设置Maven自定义配置文件的路径

04

(5) 设置本地Git的exe路径(若不使用本地已有的Git, 可选中Install automatically, Jenkins会自动安装)

05

3. 配置SSH

Manage Jenkins --> Configure System 在页面中找到Publish over SSH, 点击Add按钮, 然后点击Advanced...按钮并在Use password authentication, or use a different key前面打钩, 填写如下内容:
06
<1>name: SSH连接的名称

<2>Hostname: 远程服务器IP

<3>Username: 远程服务器用户名

<4>Remote Directory: 这个是相对于远程服务器的路径, 具体项目中的SSH配置还需要填写Source files, Remote Directory, Remove prefix这三项, Jenkins会通过这几个配置得出最终文件上传后远程服务器中文件的路径. 参考第5(5)<4>步.

<5>Passphrase/Password: 远程服务器密码

<6>Path to key: 远程服务器SSH秘钥路径

<7>Port: 远程服务器SSH连接端口号

4. 新建Maven项目

(1) New Item

07

(2) 选择Maven Project, 填写Jenkins项目名称, 点击OK

08

5. 项目配置说明

(1) Description: 项目描述
(2) Source Code Management: 配置代码管理

<1> 使用Git
09
填写URL, 用户名, 密码, 分支, Jenkins会在安装目录下的workspace目录下一个文件夹, 文件夹名称为当前Jenkins项目的名称, 这个文件夹下存放所有下载的代码.

<2> 使用SVN
10
Local module directory: 用来指定代码存放路径, 这个与Git有所区别, 若不填, 则存放位置与Git类似, 若填写, 则为默认路径的相对路径. 例如: Jenkins安装目录为: C:/Program Files (x86)/Jenkins, 当前Jenkins项目名称为blogs, Local module directory为: all, 则最终代码存放路径为: C:/Program Files (x86)/Jenkins/workspace/blogs/all

(3) 自动部署触发器

11
<1> 可以不设置, 每次手动点击按钮进行一键部署

<2> 可以在上面的各种情况下设置部署, 上图选择的是通过Poll SCM定时部署, H/24 代表每24小时部署一次, 下面还会显示上一次部署时间和下一次部署时间.

<3> 也可以通过安装如Github plugin等插件实现每次版本控制器有代码提交, 就自动部署, 但正式环境不建议这么干.

(4) 配置pom文件路径与Maven执行命令(Root POM也可以是相对路径)

12

(5) 通过SSH上传文件至远程服务器并执行备份等操作

在Post-build Actions的下拉框中选择Send build artifacts over SSH
13
SSHServer的配置如下:
14
<1>Name: 下拉框选择第3步配置的SSH服务器

<2>Source files: 指定需要上传到远程服务器的文件相对路径(相对于代码存放路径), 例如: 代码存放路径为: C:/Program Files (x86)/Jenkins/workspace/all, Source files为: oa_jinnan/target/oa_jinnan.war, 则上传前文件的最终路径为: C:/Program Files (x86)/Jenkins/workspace/all/oa_jinnan/target/oa_jinnan.war.

<3> Remote directory: 参考第5(5)<4>步.

<4>Remove prefix: 需要移除的目录前缀, 如果设置了此项属性, 则Source files必须以这个目录前缀开头.

举例说明该属性的作用, 假设配置如下:

系统中SSH配置的Remote directory为: /usr/local/test
当前Jenkins项目SSH配置的Source files为: oa_jinnan/target/oa_jinnan.war
当前Jenkins项目SSH配置的Remove prefix为: oa_jinnan/target
当前Jenkins项目SSH配置的Remote directory为: ../projects/blogs
则最终文件上传后远程服务器中文件的路径为: /usr/local/projects/blogs/oa_jinnan.war.

如果不配置当前Jenkins项目SSH配置的Remove prefix, 则最终文件上传后远程服务器中文件的路径为: /usr/local/projects/blogs/oa_jinnan/target/oa_jinnan.war

<5>Exec command: 文件上传后, 远程服务器要执行的命令

export DATE=$(date "+%Y%m%d_%H%M%S")
sleep 5
cp -rf /usr/local/tomcat/webapps/ROOT /usr/local/bak/oa_$DATE
sh /usr/local/tomcat/bin/shutdown.sh
netstat -apn |grep java |awk '{print $7}' |xargs |awk -F '/' '{print $1}' |xargs kill -9
rm -rf /usr/local/tomcat/webapps/ROOT
cp -rf /usr/local/tomcat/webapps/oa_jinnan/* /usr/local/tomcat/webapps/ROOT
rm -rf /usr/local/tomcat/webapps/oa_jinnan.war /usr/local/tomcat/webapps/oa_jinnan
sh /usr/local/tomcat/bin/startup.sh

可以不用重启Tomcat, 因为Tomcat会自动解压缩, 视需要而定.
export DATE=$(date "+%Y%m%d_%H%M%S")这一句是用来给备份文件添加年月日时分秒的后缀
备份也可以在文件上传之前执行, 在Pre Steps的下拉框中选择Send files or execute commands Over SSH, 配置方法与上面相同.
netstat -apn |grep java |awk '{print $7}' |xargs |awk -F '/' '{print $1}' |xargs kill -9这一句代表查出java进程的PID, 然后kill掉.

相关文章
|
26天前
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
40 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
1月前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
129 8
|
1月前
|
Java 应用服务中间件 Maven
Maven的三种项目打包方式——pom,jar,war的区别
Maven 提供了多种打包方式,分别适用于不同类型的项目。pom 用于父项目或聚合项目,便于项目的结构和依赖管理;jar 用于Java类库或可执行的Java应用程序;war 则专用于Java Web应用程序的部署。理解这些打包方式的用途和特点,可以帮助开发者更好地配置和管理Maven项目,确保构建和部署过程的顺利进行。无论是单模块项目还是多模块项目,选择合适的打包方式对于项目的成功至关重要。
102 3
|
2月前
|
缓存 IDE Java
idea的maven项目打包时没有source下的文件
【10月更文挑战第21天】idea的maven项目打包时没有source下的文件
93 1
|
4月前
|
Java Maven
解决idea每次新建maven项目都需要重新配置maven的问题
解决idea每次新建maven项目都需要重新配置maven的问题
201 1
|
2月前
|
Java 关系型数据库 MySQL
Maven——创建 Spring Boot项目
Maven 是一个项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,简化了项目的构建和管理过程。其核心功能包括项目构建和依赖管理,支持创建、编译、测试、打包和发布项目。Maven 仓库分为本地仓库和远程仓库,远程仓库包括中央仓库、私服和其他公共库。此外,文档还介绍了如何创建第一个 SpringBoot 项目并实现简单的 HTTP 请求响应。
177 1
Maven——创建 Spring Boot项目
|
2月前
|
Java 关系型数据库 MySQL
如何使用 maven 创建一个 Spring Boot项目
Maven 是一个强大的项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,提高开发效率。其核心功能包括项目构建和依赖管理。项目构建支持编译、测试、打包和发布等流程,而依赖管理则通过中央仓库、本地仓库和私有服务器获取和管理项目依赖。示例中展示了如何创建第一个 SpringBoot 项目并实现简单接口。
49 1
如何使用 maven 创建一个 Spring Boot项目
|
2月前
|
Java Maven Kotlin
idea maven创建kotlin项目
本文介绍了在IntelliJ IDEA中使用Maven创建Kotlin项目的步骤,包括在`pom.xml`文件中添加Maven中央仓库、配置`kotlin-maven-plugin`插件、指定源目录、添加测试插件和执行插件,以及添加Kotlin测试依赖和标准库依赖。文中还提到了如何通过更换镜像或使用代理来解决依赖下载速度慢的问题,并展示了运行示例代码的截图。
143 4
idea maven创建kotlin项目
|
2月前
|
Java Maven Android开发
eclipse创建maven项目
本文介绍了在Eclipse中创建Maven项目的步骤,包括打开Eclipse、选择Java项目、完成项目创建以及自动下载插件的过程。
116 2
eclipse创建maven项目
|
2月前
|
Java API Apache
除了 Maven,还有哪些工具可以管理项目的依赖和版本冲突
除了Maven,常用的项目依赖管理和版本冲突解决工具有Gradle、Ivy、Ant+Ivy、SBT等。这些工具各有特点,适用于不同的开发环境和需求。
168 2

推荐镜像

更多