实现自动化部署前端项目,从安装Jenkins到部署完成的整体配置 --适合初学Jenkins、想实现或者学习自动化部署的同学,知识点比较全面,过程写的清晰

news2024/11/25 18:35:16

前言

一、什么是Jenkins

二、Jenkins安装配置

Linux环境安装JDK

Linux环境安装Maven

Linux安装Jenkins

启动Jenkins

 jenkins配置

配置汉化版的jenkins

 安装gitHub插件

gitHub配置 

jenkins的配置

jenkins的gitHub配置

jenkins的java环境配置 

小总结

两种情况

第一种

第二种

常规设置

源码管理

添加凭据

构建触发器

构建

总结

前言

前几天我把前后端项目都部署到服务器上了,可是我发现修改后的的node服务很好部署但是前端修改完后还得打包然后部署,很麻烦,如果你比较感兴趣这个部署项目的整体流程可以链接走你,所以我昨天和今天就研究了这个jenkins,我实现的主要功能是,它会连接你的gitHub,如果你点击jenkins的时候就会把你点击的项目直接打包并发布;或者你想做的其他逻辑它也会帮着你去自动去做!

一、什么是Jenkins

Jenkins 是一个可扩展的持续集成引擎。

主要用于:

  • l 持续、自动地构建/测试软件项目。
  • l 监控一些定时执行的任务。

二、Jenkins安装配置

首先安装Jenkins之前,linux中必须安装好了JDK和Maven,如果还没有安装过,下面准备好安装教程;

Linux环境安装JDK

https://dbfront-firstbucket.oss-cn-chengdu.aliyuncs.com/jdk-17_linux-x64_bin.tar.gz

Linux环境安装Maven

https://dbfront-firstbucket.oss-cn-chengdu.aliyuncs.com/apache-maven-3.9.0-bin.tar.gz
这个是oss地址,点击链接即可直接下载,可能以后会维护有的问题,如果下载不能用的话可以去以下方式

 JDK:

Java Downloads | Oracle

一定选择17版本和选择指向的下载,这都是血与泪的教训呀!,! 

 Maven:

Maven – Download Apache Maven

之后在window下载linux系统下的安装包,之后就用rz命令去导入我们的Linux系统即可;可以看我上篇文章的安装node和mongodb链接走你

一定要把我们的两个bin目录放到环境中,否则就噶了!

我们的准备工作完成了!

浅试一下

 我们打上这个指令出现下面这个就是成功了!

Linux安装Jenkins

创建jenkins文件夹

mkdir jenkins

 说到这里不得不提下我们的ChatGPT

 这是我搜索的记录,简直太强了。

1、然后我们直接在当前新建的文件夹去

wget https://updates.jenkins-ci.org/latest/jenkins.war

 就会在文件中直接生成jenkins.war

2、输入指令 

nohup java -jar jenkins.war --httpPort=8080

就成功了

如果我们直接使用 java -jar jenkins.war

3、输入

netstat -tlnp

查看下当前的进程

 

发现有8080,启动成功

启动Jenkins

我们在上面启动了jenkins服务,我们直接去访问我们jenkins的页面

服务器地址+8080端口,走你

访问jenkins的时候,有个初始化密码,需要你输入,这边查找初始化密码的方法也在下面

 输入成功后

在这里插入图片描述

在这里插入图片描述

 我们的jenkins启动好了!

 jenkins配置

以下是jenkins的全局配置,包含我们的汉化、gitHub以及java在服务器的目录位置;

配置汉化版的jenkins

我们打开页面全是英文头疼,我们来配置汉化版的jenkins

 

 刷新下浏览器

 安装gitHub插件

gitHub配置 

在github中选择settings

选择Developer settings

选择Personal Access Token --> Generate new token, 新建一个有读写权限的用户。 如下勾选选项:

确定后生成token,复制下来保存好。

jenkins的配置

jenkins的gitHub配置

登录进jenkins后选择系统管理 => 系统设置 => Github Server 添加信息

添加jenkins凭据

完成后点击连接测试,连接成功信息如下:

jenkins的java环境配置 

然后选择系统管理 => 全局工具配置 在JDK安装中去掉勾选自动安装,在JAVA_HOME中输入java jdk安装的根目录,我的安装根目录是/usr/

我们可以到环境

vim  /etc/profile

完成后回到首页新建任务,填写任务名称,选择构建自由风格的软件项目,点击确定。

总结下我们上面的流程

小总结

我们在gitHub上进行一个具有个性化的配置(读写的配置),并生成唯一token,在jenkins中我们通过全局给jenkins添加了一个我们自己的token,然后确定了服务器的java文件目录!

下面就分两种情况

一种是我们的 服务器有我们的git和gitHub的地址可以git push和pull

另一种就是没有git的地址和gitHub的ssh的密钥,我们就只能在jenkins配置(有些麻烦推荐第一种)

两种情况

第一种

服务器有我们的git和gitHub的地址可以git push和pull

我们上述创建任务后

点击我们自己项目的配置

 点击BuildSteps=>增加构建后操作步骤=>zshell

输入如下代码 

 cd /dangbo/functionTools/dbfrontFunctionTools

git pull

npm run docs:build

这个意味着,我们点击jenkins时候直接会进入这个目录并git pull、随后执行npm run dcs:build 

点击应用

 显然我们成功了

第二种

另一种就是没有git的地址和gitHub的ssh的密钥,我们就只能在jenkins配置(有些麻烦推荐第一种)

常规设置

源码管理

添加凭据

构建触发器

选择轮询SCM,输入出发时间

构建

选择执行shell,输入构建脚本

最后保存,点击立即构建,然后项目会有构建进度。

总结

整个项目搭建下来踩了很多的坑,也遇到很多的小问题,很多时间都是在解决问题,总的来说其实不是很难,如果不熟悉linux的话会有点吃力。

先去gitHub配置一个自己的token=》放到jenkins的全局中=》全局的还有jdk在linux的位置=》最后我们的配置是分了两种情况=》一种是我们服务器能拉取代码,就不用做我们的Git和gitHub的配置了,直接写自己想做的指令即可,在shell位置=》另一种就是能拉取我们的代码,也就是服务器没有配置gitHub的ssh密钥,我们就得在jenkins的位置配置所有的东西,很麻烦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/336618.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RPCMon:一款基于ETW的RPC监控工具

关于RPCMon RPCMon是一款基于事件跟踪的WindowsRPC监控工具,该工具是一款GUI工具,可以帮助广大研究人员通过ETW(Event Tracing for Windows)扫描RPC通信。 RPCMon能够为广大研究人员提供进程之间RPC通信的高级视图,该…

谋变2023:家电巨头进击的“三大关口”

2022年的中国家电行业,无疑在艰难中前行。奥维云网(AVC)推总数据显示,2022年中国家电市场(不含3C)零售额为7081亿元,同比下滑7.4%。下滑背后的推力是多样的,包括地产市场下行、消费者…

服务端返回内容跨域CORS之后,也在chrome/edge浏览器里显示出响应信息

由于浏览器的同源策略,服务端返回的内容跨域,且没有允许跨域CORS的请求头之后,浏览器无法显示出服务端返回的信息,不方便问题排查。比如:Access to XMLHttpRequest at http://localhost:6001/service-app/query/common…

springcloud-工程创建(IDEA)

文章目录介绍springcloud 常用组件1.创建父工程2.删除父工程的src目录3.修改父工程的pom文件4 springcloud 版本依赖5.创建子模块6 子项目下创建启动类介绍 Spring Cloud 是一个基于 Spring Boot 实现的云应用开发工具,它为开发中的配置管理、服务发现、断路器、智…

最全面的内网open虚拟专用网络通道搭建过程

内网open虚拟专用网络通道搭建过程 文章目录内网open虚拟专用网络通道搭建过程前言一、环境准备二、安装open虚拟专用通道2.1、安装依赖包2.2、开始安装三、证书配置3.1、easy-rsa配置修改3.2、初始化与创建CA根证书3.3、生成服务端证书3.4、生成客户端证书3.5、创建服务端配置…

SpringCloud微服务~面试题

1. SpringCloud常见组件有哪些? 问题说明:这个题目主要考察对SpringCloud的组件基本了解 难易程度:简单 参考话术: SpringCloud包含的组件很多,有很多功能是重复的。其中最常用组件包括: 注册中心组件&…

【冲刺金三银四】2023年网络安全工程师面试题合集

以下为信息/网络安全各个方向涉及的面试题,星数越多代表问题出现的几率越大,祝各位都能找到满意的工作~ 【一一帮助网络安全提升点我一一】 ①网络安全学习路线 ②20份渗透测试电子书 ③安全攻防357页笔记 ④50份安全攻防面试指南 ⑤安全红队渗透工具包 …

市场调研计划书如何写?

想要做好一个产品,市场调研是必不可少的一步,也是第一步,那么如何进行市场调研呢?以下是我整理的一份市场调研计划书,希望能够帮助到大家!!! 一、文档版本控制 主要记录文档的版本…

Reverse_SSH:一款基于SSH的反向Shell工具

关于Reverse_SSH Reverse_SSH上一款基于SSH的反向Shell工具,在该工具的帮助下,广大研究人员可以使用SSH来实现反向Shell,并同时拥有下列功能: 1、使用原生SSH语句管理和连接反向Shell; 2、动态、本地和远程转发&#…

[python入门㊷] - python存储数据

目录 ❤ json.dump()存储数据 ❤ json.laod()读取数据 ❤ 保存和读取用户生成的数据 ❤ 重构 JSON(JavaScript Object Notation)格式最初是为JavaScript开发的,但随后成了一种常见格式,被包括Python在内的众多语言采用 ❤ json.dump()存储数据…

基本TCP编程

1. 基本概念 TCP (即传输控制协议) 是一种面向连接的传输层协议,它能提供高可靠性通信 (即数据无误、数据无丢失、数据无失序、数据无重复到达的通信)。 2. 通信流程解析 TCP 通信的流程与打电话的过程相似,以下以一对情侣打电话的过程来展示TCP的通信流程: 其中服务端 …

4.4 序列化与反序列化

文章目录1.概述2.特点/应用场景3.涉及到的流对象4.代码实现序列化与反序列化4.1 步骤1:创建学生类Student24.2 步骤2:创建序列化测试类5.测试案例中常见的几种编译错误类型6.为什么反序列化版本号需要与序列化版本号一致?7.自动提示 生成UID …

10 亿月活用户下,快手基于 Dragonfly 的超大规模镜像分发实践

背景 挑战 快手容器云平台旨在为快手不断增长、不断变化和多样化的业务,提供基于容器化部署的超大规模基础设施服务。为了实现这一目标,快手工程师需要解决弹性、稳定性、效率和无服务器架构等挑战,在这些挑战中,镜像分发的稳定…

职场IT老手教你3步教你玩转可视化大屏设计,让领导眼前一亮!

我是制造企业的IT中心的研发人员,平常工作就是配合业务部门出出报表,选型一些商业软件,并在内部负责实施运维。最近领导出去参观了一些数字化转型比较领先的工厂和制造企业,回来就甩给我几张图,问能不能我们也做几个这…

4. sql 语句中常用命令

1. 数据表: 本文中所有命令,测试的数据表结构如下图: 2. 查询语句: 2.1 基础查询:select //查询单个字段: select 字段名 from 表名; //查询多个字段 select 字段名1,字段名2,... from 表名; //查询所…

数据库的安装部署

目录 方法一:仓库安装 一、添加MySQL仓库 二、安装装MySQL 三、启动MySQL服务器 方法二:本地安装 一、使用以下执行清理之前实验MySQL仓库安装的数据库: 二、网上下载mysql的安装包 三、将下载好的文件传入Redhat中的某个路径中 …

CentOS7安装配置OpenVNP连接远端服务器

在项目当中需要访问一个三方接口及数据库,但是需要在CentOS7服务器上先配置OpenVPN,然后才能连接,现将整体配置过程记录如下。 安装 yum -y install epel-release yum -y install openvpn 查看版本 openvpn --version 配置客户端证书 打开…

电脑ip地址查询要怎么做?查询IP地址就看这3种方法

电脑无法运转时,我们需要别人的帮忙的话,那就需要知道自己电脑的IP地址是什么。但是很多人不知道该从电脑哪里找到IP地址。电脑ip地址查询就看下面2种方法,让你轻松就能Get到技巧! 操作环境: 演示机型:华为…

【数据库】 数据库的理论基础详解

目录 一, 什么是数据库 二, 数据库管理系统(DBMS) 三,数据库与文件系统的区别 1,对比区别: 2,优缺点总结: 四,数据库的发展史 五,常见数据库 1, 关系型…

vue directive 注册局部指令

注册局部指令 vue directive 在注册局部指令时,是通过在组件 options 选项中设置 directives 属性。如下: directives: {focus: {// 指令的定义inserted: function (el) {el.focus()}} }在模板中的任何元素上都可以使用新的 v-focus property&#xff…