Jenkins 安装及使用 ( Jenkins 部署 Maven 项目、Jenkins 部署 Vue 项目)

Jenkins 安装及使用 ( Jenkins 部署 Maven 项目、Jenkins 部署 Vue 项目)Jenkins安装部署及使用。包括Jenkins部署Vue项目,Jenkins部署Maven项目。

大家好,又见面了,我是你们的朋友全栈君。

PS:中文官网,东西比较全。(居然有中文官网了,真好!)以下为本人自己的使用过程,仅供参考!

一、准备阶段

1、组件及版本

Jenkins 安装部署环境如下

Jenkins 版本:2.164.3
操作系统:CentOS Linux release 7.5.1804 (Core)
JDK 版本:1.8.0_171
Tomcat :8.5.31.0

2、Jenkins部署方式

官网下载jenkins.war,放到Tomcat的webapps目录中,启动Tomcat即可。需要注意的是jenkins的默认语言和操作系统一致,操作系统如果选择中文,jenkins页面就是中文的。
PS:中文官网安装方式

3、查看防火墙的状态

systemctl status firewalld
Tomcat默认使用8080端口,如果防火墙开启,需要开通8080端口
firewall-cmd –zone=public –add-port=8080/tcp –permanent
重启防火墙
systemctl restart firewalld
查看防火墙列表
firewall-cmd –zone=public –list-ports

二、Jenkins安装部署

1、密码

启动Tomcat之后,查看logs目录中的catalina.out日志文件。其中包含了第一次启动的默认密码。如图:

在这里插入图片描述

如图密码为(不要复制,你的密码肯定不一样):8203fc9d1ee04c60a39666c6c53ffc01

2、登录

浏览器访问http://IP:8080/jenkins,输入初始密码,加载中请稍等

在这里插入图片描述

3、选择插件

不知道装什么,可以不装插件,后期还可以安装插件的,或者使用推荐,就是推荐稍微有点多

在这里插入图片描述

安装推荐的插件

在这里插入图片描述

等安装好之后。配置用户名、密码、URL访问地址,就可以使用了。(不每个都截图了,没什么好记录的)

在这里插入图片描述

三、Jenkins自动部署Maven项目

Jenkins 页面如下:
在这里插入图片描述

使用Jenkins的目的,从自建GitLab中下载代码,有代码更新的时候,自动下载、编译、打包、部署、启动项目

1、部署环境

操作系统:CentOS Linux release 7.5.1804 (Core)
JDK版本:1.8.0_171
Tomcat:8.5.31.0
项目:J2EE
框架:SSM
项目包:war

2、新建项目

发现没有maven项目的选项

在这里插入图片描述

安装maven插件
搜索关键字:Maven Integration

在这里插入图片描述

出现maven项目

在这里插入图片描述

新建maven项目官网是另外一种方式

这两个地方报错。先保存,去其他地方配置好,再回来。

在这里插入图片描述

在这里插入图片描述

3、全局配置 : Maven

git需要额外安装,直接yum install git就可以了,参考:官网。不喜欢yum的可以用其他方法。
maven不需要额外安装。
在这里插入图片描述

在这里插入图片描述

git安装这个无效,很奇怪。没搞懂(有明白的大神,请指导一下。多谢!)

在这里插入图片描述

这里需要注意,其他很多博客中的方法,单独安装maven。因为Jenkins已经集成好了。
按照上面的配置之后,所有jenkins集群中的节点,都不需要单独安装maven,但是仍然可以用maven打包。非常好用。git不可以,或者是我不会用,很可惜。

安装了git、maven之后,项目中的错误就消失了。

至于那些选项,研究一下吧。每个人的需求都不太一样,按需配置即可。

现在就可以构建项目了。第一次有点慢,需要安装maven,下载依赖。
哦~ 对了这里忘记说了,全局工具配置 – Maven配置 – setting – 选择文件,文件里面可以配置私库,本地仓库位置。会快很多的。
构建好的项目在.jenkins/workspace中

4、启动 tomcat 异常处理

PS:Post Steps 中,如果需要启动tomcat,需要加入BUILD_ID=dontkillme,组织Jenkins部署结束后,停止进程,否则会一直出现tomcat不能正常启动的现象。

四、Jenkins自动部署前端项目(Vue)

官网推荐的方式

1、安装NodeJS插件

Vue项目打包需要NodeJS环境,因此首先安装NodeJS插件

在这里插入图片描述

全局工具配置 安装NodeJS

在这里插入图片描述

2、新建项目

新建 自由风格的项目
git配置和maven项目创建时是一致的
Build Environment – Provide Node & npm bin/ folder to PATH(引入NodeJS环境)

在这里插入图片描述

3、注意事项&构建脚本

这里需要注意Build的时候需要自己写shell脚本打包,而且shell脚本中需要自己提供NodeJS的PATH和NODE_HOME。可能是我研究的还不够透彻,仅供参考!

在这里插入图片描述

构建脚本如下:

#!/bin/bash

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
source ~/.bash_profile
#jenkins工具位置,这个是默认值
TOOLS_PATH=/root/.jenkins/tools
#NodeJS的位置
NODE_HOME=${TOOLS_PATH}/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS8.16.0
export NODE_HOME
PATH=${PATH}:${NODE_HOME}/bin
export PATH
NODE_PATH=${NODE_HOME}/lib/node_modules
export NODE_PATH

cd ${WORKSPACE}
npm install
npm run build

exit 0

构建脚本不够漂亮,根据自己的实际情况优化一下吧~

完~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137121.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • LNMP安装Let’s Encrypt 免费SSL证书方法:自动安装与手动配置Nginx

    LNMP安装Let’s Encrypt 免费SSL证书方法:自动安装与手动配置Nginx

    2021年10月14日
  • IIc通信协议(一)[通俗易懂]

    IIc通信协议(一)[通俗易懂]–>物理结构:–>通信原理:通过对SCL和SDA线高低电平时序的控制,来产生I2C总线协议所需要的信号进行数据的传递。在总线空闲状态时,这两根线一般被上面所接的上拉电阻拉高,保持着高电平。–>iic总线协议:1】起始和结束信号总是由主设备产生。起始信号:SCL高电平空闲,SDA由高变低;(SDA拉低后SCL再拉低)结束信号:SCL高电平空闲…

    2022年4月29日
  • 【最新】解决Github网页上图片显示失败的问题

    【最新】解决Github网页上图片显示失败的问题好几个星期之前本人就发现自己的github在网页打开显示不了图片的问题了,不过当时没在意。今天强迫症逼迫我一定要搞定它,于是去找了一些方法,自己做个记录,有相同问题的伙伴可以参考一下。一、问题比如随便打开一个项目,图片都挂掉了,我头像都没了打开控制台显示主要报错是Failedtoloadresource:net::ERR_CERT_COMMON_NAME_INVALID查了…

    2022年6月2日
  • iOS自动化之WDA(WebDriverAgent)安装

    iOS自动化之WDA(WebDriverAgent)安装1、WDA介绍WebDriverAgent在iOS端实现了一个WebDriverserver,借助这个server我们可以远程控制iOS设备。你可以启动、杀死应用,点击、滚动视图

    2022年7月4日
  • jdk1.8ArrayList主要方法和扩容机制(源码解析)

    jdk1.8ArrayList主要方法和扩容机制(源码解析)ArrayList简介:ArrayList实现了List接口它是一个可调整大小的数组可以用来存放各种形式的数据。并提供了包括CRUD在内的多种方法可以对数据进行操作但是它不是线程安全的,外ArrayList按照插入的顺序来存放数据。ArrayList的主要成员变量:privatestaticfinalintDEFAULT_CAPACITY=10;//数组默认初始容…

    2022年6月5日
  • datax(9):Job和TaskGroup的通讯机制

    datax(9):Job和TaskGroup的通讯机制先后看完了TaskGroupContainer和JobContainer,梳理下他们的关系与职责;一,各自职责JobContainer:Job执行器,负责Job全局拆分、调度、前置语句和后置语句等工作的工作单元。类似Yarn中的JobTrackerTaskGroupContainer:TaskGroup执行器,负责执行一组Task的工作单元,类似Yarn中的TaskTracker(Yarn中的JobTracker和Yarn中的TaskTracker通过RPC进行通讯);二.

    2022年5月16日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号