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

2023-11-04

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

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

完~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jenkins 安装及使用 ( Jenkins 部署 Maven 项目、Jenkins 部署 Vue 项目) 的相关文章

  • Pod 在 Kubernetes 中启动但不工作

    创建了具有 3 个 Pod 的 Kubernetes 集群部署 并且全部运行良好 但是当尝试运行它们时无法做到这一点 尝试在描述部分中执行卷曲 Pod 的 Ip 内部 我可以看到此错误 MountVolume SetUp failed fo
  • Google Cloud Kubernetes Ingress 静态 IP 地址未反映且与设置不同

    我正在尝试在 Google Cloud 上使用 GKE 部署完整的 Web 应用程序 后端为 Nodejs 前端为 Angular 然后为其启用 SSL 我创建了一个全局 IP 地址 随后在列表中看到了它 gcloud 计算地址创建 mat
  • 如何连接到 Vault 服务器

    我想尝试一下vault 所以我配置了VAULT ADDR as echo VAULT ADDR http 127 0 0 1 8200 然后我在开发模式下启动了vault vault server dev 一切正常 我能够连接到服务器 然后
  • 如何计算 docker 限制

    我创建了我的码头工人 Python Flask 如何计算内存和 CPU 的限制 我们是否有一些工具可以在具有不同限制的 docker 上运行性能测试 然后建议设置的最佳限制数字是多少 对于已经在容器内运行的应用程序 您可以使用docker
  • 2024年度 ROTS - 实时操作系统 Top 15

    RTOS 实时操作系统 这里说的 RTOS 并非新星球大战电影中的机器人 而是物联网设备 航空系统 空中交通管制等背后的无声协调者 就在地球上 RTOS 或称实时操作系统 设计它们是为了更好的管理资源 以及为一些对时间点有精确要求的应用运行
  • 错误:服务“xxx”使用未定义的网络“xxx”

    它一直对我说网络是不明确的 错误 服务frontend network使用未定义的网络frontend network 然而 我看到已经有这样一个网络 docker网络ls 我错过了什么 我需要你的帮助 我在谷歌上读了很多相关内容 但找不到
  • Gitlab 与 SonarQube 集成

    我对开发社区 特别是 DevOps 实践还很陌生 作为项目的一部分 我们正在尝试将 SonarQube 与 Gitlab 集成 在 SonarQube 和 Git CI 持续集成 上进行了一些研发 看起来插件已为 Github 和 Sona
  • 如何使用 IBM Bluemix Track & Plan 管理多个组件

    我们有一个由多个不同组件 不同功能 语言 组成的应用程序 在 IBM Bluemix 中是否可以使用单个 Track Plan 功能来管理组件的工作项 但将源代码保留在单独的 git 存储库中 例如 我希望整个应用程序有一个积压工作 然后由
  • 在ansible中使用连字符

    我正在学习 Ansible 但我很困惑何时在剧本中使用连字符 何时不使用连字符 据我所知 连字符用于 Ansible 中的列表 例如 my first playbook hosts webservers why did we use hyp
  • Azure Devops 发布管道 XML 变量替换不起作用

    我的发布管道中有一个非常简单的变量替换 但它不起作用 我有变量connectionStrings config文件如下
  • cf run-task 运行前需要上传 env/script 吗?一种优雅的方式?

    我正在与 Cloud Foundry 合作 My need是在我的应用程序之外运行数据库迁移 以便我可以在需要时以某种方式 cf 命令 api 调用等 触发迁移 我被推荐使用cf run task 经过检查 我的理解是 cf run tas
  • 如何在 Dynamics 365 On-Premise 中使用 EasyRepro 自动登录

    我正在尝试使用 Dynamics 365 On Premise 中的 EasyRepro 进行自动化 UI 测试 我成功完成了测试 但遇到了一个问题 我无法自动登录到我的 Dynamics 365 Organization 下面是我使用的代
  • Jenkinsfile when-branch 设置的模式评估是什么?

    我正在尝试检测阶段内when 语句的分支模式 像这样 stage deploy to staging agent label some node when branch feature steps sh deploy pr sh 如果我想要
  • 计划错误:尚未使用 Cloud Resource Manager API

    当我尝试跑步时 steps id Plan Terraform name hashicorp terraform light args plan 在 Cloud Build 中 我收到错误 Error Error reading Proje
  • 如何在 Prometheus 中推送 Kubernetes 指标而不是拉取?

    我已经在我们的基础设施中配置了 Prometheus 进行监控 在我们的基础设施中 我们有一个正在运行的 EKS 集群 我必须在 Prometheus 中收集 EKS 指标 默认情况下 Prometheus 采用基于拉动的机制 这里我有一个
  • 如何在前端js应用程序(如后端应用程序)中使用变量替换?

    我正在尝试为一些应该非常简单的事情找到一个优雅的解决方案 我正在使用 create react app 开发一个 React 应用程序 并且在将代码部署到不同环境 例如在 Azure 中 时 我试图找到一种简单的方法来替换变量 例如 API
  • 无法将 SonarQube 分析结果与 VSTS 集成

    我正在 VSTS 中使用准备 运行和发布分析任务来运行 SonarQube 分析并发布结果以构建摘要 前两个步骤成功执行 但 发布分析 任务失败 因为它无法获取分析 ID 的任务 我收到以下错误消息 无法获取 ID AWE9 wu8 fbf
  • Helm 在 Kubernetes 集群上安装或升级版本失败:服务器找不到请求的资源或升级失败:没有部署版本

    使用 helm 在我的 Kubernetes 集群上部署图表 从有一天起 我无法部署新的图表或升级现有的图表 事实上 每次我使用 helm 时 我都会收到一条错误消息 告诉我无法安装或升级资源 如果我跑helm install name f
  • 更改 Kubernetes 中的 CPU 管理器策略

    我正在尝试更改我管理的 Kubernetes 集群的 CPU 管理器策略 如上所述here https kubernetes io docs tasks administer cluster cpu management policies
  • 如何以编程方式确定哪些数据存储区索引有错误?

    当我跑步时更新索引在 Google 数据存储上我收到以下消息 它告诉我通过查看 GUI 来确定哪些索引有错误 然后删除这些索引 我的 200 个索引中有 51 个错误 从 GUI 中复制它们是不可行的 编辑 通过费力地从 datastore

随机推荐

  • ObjectArx ADO方式连接数据库

    ADO在C 中的使用 最近程序中用到读写数据库 看了些例子 查了番MSDN 下面把详细步骤写出来 以备忘 或与同行共勉 读写数据库的技术很多 现在多用ADO ADO以COM方式提供 所以它的很多行为遵循COM规范 首先 要引入ADO的COM
  • 2023年CSS面试题集合

    文章目录 一 H5的新特性有哪些 二 CSS3的新特性有哪些 三 如何实现一个盒子水平垂直居中 方法一 利用定位 常用方法 推荐 方法二 利用 margin auto 方法三 利用 display table cell 方法四 利用 dis
  • OU/Group/Group Policy组织单元、组和组策略

    Builtin这些是所谓的容器 用来存放各种对象 Exchange 中的Organization在AD中就是一个容器 OU主要和组策略搭配使用 是策略能影响的范围 类似SCCM中的collection Group嵌套用户 实现AD权限分发
  • everything用于移动硬盘资料管理(二):离线搜索全部移动硬盘

    使用 everything文件搜索软件 搜索全部移动硬盘列表 实现神奇的一网打尽 告别插盘搜索时代 使用技巧三 指定所有离线文件列表为搜索范围 使用技巧四 发现重复文件 使用技巧五 定位文件所在的硬盘分区 综合示例 告别插盘搜索时代 使用技
  • sqldeveloper工具使用

    注意 主机名的配置 默认是localhost 需要更改成你连接的数据库地址 示例图
  • Spring事务的传播行为

    Spring事务的传播行为 Spring事务的传播行为指的是一个事务方法调用另一个事务方法时 事务如何传播的行为 Spring框架提供了7种事务传播行为 分别是REQUIRED SUPPORTS MANDATORY REQUIRES NEW
  • java并发编程知识梳理

    1 如何实现处理线程的返回值 1 主线程等待法 2 join t jpin 会阻塞主线程 直到t执行完 3 通过Callable接口实现 通过FutureTask或线程池获取 2 线程的生命周期 状态 1 新建New 新创建的线程还未执行
  • 复习之linux高级存储管理

    一 lvm 逻辑卷管理 1 lvm定义 LVM是 Logical Volume Manager 逻辑卷管理 的简写 它是Linux环境下对磁盘分区进行管理的一种机制 逻辑卷管理器 LogicalVolumeManager 本质上是一个虚拟设
  • 10 个免费的高清图库网站,强烈推荐

    转自 https zhuanlan zhihu com p 23411438 写东西找配图 真的很揪心 虽然从搜索引擎可以搜索很多 但是可能不是免费使用的 今天为大家介绍的这是个网站 所有的图片都是免费高清 你想怎么用就怎么用 强烈建议大家
  • transformer理解

    引用自Transformer 模型详解 目录 1 Transformer 结构 2 Transformer 的输入 3 Self Attention 4 Encoder 结构 5 Decoder 结构 6 Transformer 总结 参考
  • SpringBoot开发日记(五)——如何在@Query中动态的判断参数是否为空

    直接上代码 Query value select from table name where if 1 null and 1 key 1 1 1 and if 2 null and 2 key2 2 1 1 nativeQuery true
  • 了解PHP的几种常见的加密方式

    常用的几种加密方式 md5加密 Md5是一种单向的加密技术 不可逆 不能进行解密 crypt加密 crypt 为单向加密 跟md5差不多一样 sha1加密 跟md5很像 不同的是sha1 默认情况下返回40个字符的散列值 传入参数性质一样
  • 在mysql中设置外键的语句

    假如某个电脑生产商 它的数据库中保存着整机和配件的产品信息 用来保存整机产品信息的表叫做 pc 用来保存配件供货信息的表叫做 parts 在 pc 表中有一个字段 用来描述这款电脑所使用的CPU型号 在 parts 表中相应有一个字段 描述
  • maven安装并配置后报错:当前目录下缺少pom.xml

    问题 默认你已经解压了maven文件且配置好了 etc profile 输入 mvn v 准备收获胜利的果实 此时却报错 ERROR The goal you specified requires a project to execute
  • scala学习-11-package object

    1 概述 Scala中的下划线到底有多少种应用场景 1 作为 通配符 类似Java中的 如import scala math 2 作为一个整体 告诉编译器你希望将某个参数当作参数序列处理 例如val s sum 1 to 5 就是将1 to
  • centos 8的官方国内镜像(阿里巴巴)

    阿里巴巴云提供了centos 8的官方国内镜像 使用户能够更快地下载和安装centos 以下是阿里centos 8镜像的简介 镜像特点 支持 http https ftp rsync 协议 同步频率高 保证镜像源的及时性和稳定性 支持 ip
  • problem(3):python IDE和python解释器

    为什么写这篇文章呢 遇到了下面的问题 相同的解释器 如果运行angr库的代码 会出现 这样的情况 但是用spyder IDE 会显示正常 很奇怪 应该就是IDE的原因 IDE的循环导入问题 检查IDE配置 如果可能 尝试在不同的IDE中运行
  • vue高德地图绘制行政区边界

  • 吴恩达老师深度学习视频课笔记:单隐含层神经网络公式推导及C++实现(二分类)

    关于逻辑回归的公式推导和实现可以参考 http blog csdn net fengbingchun article details 79346691 下面是在逻辑回归的基础上 对单隐含层的神经网络进行公式推导 选择激活函数时的一些经验 不
  • Jenkins 安装及使用 ( Jenkins 部署 Maven 项目、Jenkins 部署 Vue 项目)

    Jenkins 安装及使用 Jenkins 部署 Maven 项目 Jenkins 部署 Vue 项目 一 准备阶段 1 组件及版本 2 Jenkins部署方式 3 查看防火墙的状态 二 Jenkins安装部署 1 密码 2 登录 3 选择