分享好友 最新动态首页 最新动态分类 切换频道
Jenkins详细安装配置部署
2024-12-27 02:26

目录

Jenkins详细安装配置部署

一、安装jdk

 二、安装jenkins

 三、安装git

 四、安装maven

 五、Jenkins全局工具配置

 六、SSH插件安装

七、SSH传输服务器设置

 八、页面配置发布工程

九、目标发布服务器配置

十、构建项目

十一、构建前端web工程

十二、权限分配


简介

 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具。主要做的事情就是从git中拉取代码,根据配置信息打包;把打好的包传输到目标服务器,并可以执行一些shell脚本,使项目打包发布一键完成。

一、安装jdk

jenkins的安装需要依赖于jdk。

1.新的服务器需要支持文件上传和下载,安装rz(上传)sz(下载

 

2.使用命令rz上传linux下的jdk安装包到服务器,输入rz后会弹出一个选项框,选择对应的jdk安装包(最新版的jenkins需要jdk11以上,2022年7月2日起,jenkins新版本不再支持java8,仅支持java11和java17。

3.解压jdk安装包文件

 

4.到/usr/local目录下创建存放jkd的目录java:

 

5.目录切到/usr/local/java下,把jdk的解压文件添加到此目录下

 

6.在环境变量中配置jdk

打开配置文件

 

输入字符i开始进行编辑

向配置文件中添加jdk的安装目录

 

按esc退出编辑

输入:再输入wq(保存并退出,若是输入q!则退出不保存

7.让配置生效

 

8.检验jdk是否安装成功

 
 

 二、安装jenkins

1.输入命令安装jenkins

 

2.配置jenkins端口

 
 

3.配置权限,修改为root

 
 

修改目录权限

 

编辑jenkins的配置文件

 

添加jdk的安装目录

 4.重启jenkins

老版本的jenkins(jdk1.8及之前

 

新版本的jenkins(jdk大于等于11

先切到 Jenkins 脚本目录 

 

再执行命令

 

若是装的最新版的jenkins,而启动命令还是使用原来的方式,则会报启动失败

 查看启动状态为失败,报的错误是:Failed to start Jenkins Continuous Integration Server

5.启动jenkins

老版本的jenkins(jdk1.8及之前

 

新版本的jenkins(jdk大于等于11

先切到 Jenkins 脚本目录 

 
 

此时执行启动jenkins命令,还是显示启动失败,jdk还是引用的1.8,默认的加载usr/lib/jvm下的jdk

 此时我们需要在usr/lib/jvm下安装对应的jkd11

 

安装完成后需要改变下jdk的选中版本

 

列出可选的jdk版本,输入jdk11对应的序号即可

 此时再启动jenkins成功

6.查看是否开启防火墙

 
 

若是为dead,则没有开启防火墙,需要开启防火墙

 
 

 再查看防火墙

 查看是否开放端口8080

 
 

 没有开放,则加入

 

重启防火墙

 

再次查看是否开放

 7.访问jenkins服务

查看linux的ip地址

 
 

 访问jenkins地址 http:<ip或者域名>:8080

 执行命令查看密码

 

复制密码输入到管理员密码,登录系统,插件安装选择推荐插件

安装进行中

 安装完成

 运行截图

8.设置jenkins控制台中文显示

Manage Jenkins->Manage Plugins安装插件

 安装插件 Locale plugin , Localization: Chinese (Simplified) , 如果失败就再安装一次,在可选插件中搜索,勾选,然后点击Install without restart,下面截图为已经安装好的状态

 Manage Jeknins-》configure System设置显示语言,找到Locale设置为zh_CN,点击运用保存

 重启Jenkins,浏览器中输入(http://域名/restart)http://192.168.153.130:8080/restart即可生效。

如果出现部分翻译,部分没翻译的现象,则删除插件。重启Jenkins(http://域名/restart,再次安装插件(第一次安装只有部分翻译了

如果安装新的插件,重启了服务,又变成部分汉化了

 三、安装git

1.执行安装命令

 

2.查看安装git是否成功

 
 

 四、安装maven

1.上传maven安装包到linux服务器:rz

 2.解压文件

 

3.切到安装maven的目录

 

创建目录maven

 

进入到maven目录

 

把解压的maven包移动到此目录下

 

4.修改maven的setting.xml配置信息

进入目录

 

编辑setting.xml配置文件

 

①设置存放jar包的目录

 ②配置私服的serviers

 

③配置阿里云镜像

 

④配置maven私服nexus及激活的配置

 

5.创建存放jar包的目录repo,需要与setting.xml中配置的一致

切到需要创建的目录下

 

创建目录

 

给目录赋读写权限

 

6.把maven安装信息配置进环境变量中

编辑环境变量

 

把maven信息加进去保存并退出(wq

 
 

 7.重新加载环境变量

 

8.查看maven是否安装成功

 
 

 五、Jenkins全局工具配置

在jenkins首页依次进入系统管理>>全局工具配置

1.jdk配置:输入jdk安装的目录

 2.git配置:输入git的目录

 3.maven配置:输入maven的目录

 六、SSH插件安装

jenkins打完包需要上传到新的服务器上,此处使用ssh的方式上传,添加ssh插件。系统管理-》插件管理-》可选插件

所需插件如下:如果已经安装,无需再次安装SSH 、Maven Integration 、Git plugin、Publish Over SSH,Role-based 。

安装完成后新建工程时,构建环境选项才会出现SSH相关的选项

 附加:截止到发稿前,新版本的jenkins不提供Publish Over SSH插件,从可选库里面检索不到,jenkins官网暂停了插件,原因是存在XSS和CSRF攻击,目前没有修复,但是我们使用内网部署,不存在这种情况,外网部署的情况需要慎重考虑。

 可以手动添加Publish Over SSH插件到jenkins,需要的文件下载git地址

https://github.com/zhangliqingyun/publishssh.git

目录切到

 
 

 把这两个文件添加进行,解压赋值上对应的权限

添加完成后即可在已安装插件中显示,创建项目的时候可以直接使用,在配置ssh服务器的位置也显示

七、SSH传输服务器设置

点击系统管理-》系统配置系统设置主要定义,Jenkins本身的一些配置,邮件、远程服务器管理、构建参数等,这里先配置远程主机,后面自动发布时会用到找到Publish over SSH相关部分。

 1.Jenkins SSH Key配置jenkins部署所在服务器的信息

 Passphrase:SSH的密码,使用用户名/密码登录时为用户名的密码,使用私钥登录时为私钥的密码,没有就留空

 Path to key:SSH私钥的文件路径

 Key:私钥

①在安装jenkins的服务器上执行命令生成私钥信息

 

全部按回车执行不需要输入密码,执行完或会在目录/root/.ssh下生成私钥信息

 ②Passphrase内输入登录服务器的密码

③Path to key内输入私钥的文件地址

 

④Key为id_rsa的文本内容,可以使用命令:sz id_rsa把文件下载下来,把文本内容粘贴进行

2.SSH Servers配置需要把打好的jar包上传到的服务器信息(发布业务系统的服务器

 点击新增添加ssh服务器,可以根据需要添加多台。

Name:SSH节点配置的名称,在Job中使用Publish over SSH插件时,此名称将出现在"SSH Server"中"Name"的下拉列表中。

Hostname: 主机IP

Username:主机用户名

Remote Derictory: 运程机器上真实存在的目录,并且"Username"指定的用户要有访问此目录的权限,插件将把文件传送到此目录下

登录服务器创建目录

 

给u01目录赋权限

 
 

 登录远程服务器使用秘密的方式,点击高级展开进行设置

 勾选使用秘密登录: Use password authentication, or use a different key,点击Change Password设置添加的用户登录服务器的密码

 也可以不使用密码,免密登录的方式:把部署jenkins的rsa.pub文件拷贝到目标机器的authorized_keys下,到目标服务器下执行

 

,把公钥内容粘贴进行,然后重启目标服务器的shh

 
 
 

 点击Test Configuration按钮测试配置的服务器是否能正常链接:当出现Success表示链接正常

 八、页面配置发布工程

1.创建视图,把工程放在视图中进行管理

 2.在创建的视图中添加任务

 3.输入任务名称,选择构建一个maven项目,勾选添加到当前视图进行创建

4.General选择丢弃旧的构建,输入保持构建的最大个数

 5.源码管理选择Git的方式,添加项目的git地址

 点击添加访问git地址的用户名和密码信息,此用户需要有权限访问git链接

 填写对应的用户名密码即可

 指定需要打包的分支

 6.构建环境

选择:Send files or execute commands over SSH after the build runs 把打包好的jar文件发送后执行命令的方式

Name:目标主机名称,前面配置主机时有提到,在第七部分的第2点配置的,若是配置了多台,则此处为下拉选择。

  Source files:需要传输的文件路径,jenkins默认打出来的jar包放在/var/lib/jenkins/workspace目录下,后面的目录umapp-cloud-service-todolist为创建任务的名称,此处只用填写项目打包后的结尾文件名即可,前缀默认会拼接

Remove prefix:移除文件前缀,当从jenkins服务器把jar文件通过ssh发送到目标服务器后,目标服务器存放jar的目录,需要去掉的前缀(源jenkins存放jar的目录为基础

Remote directory:远程目录,此目录是基于前面第七部分的第2点配置ssh server时定义的目录(/u01)为根目录。按此配置,则目标服务器上需要存在/u01/builds的目录

7.build打出jar包

Root Pom:配置pom.xml的文件目录

Goals and options:配置maven执行的命令

 -Pdev为激活dev配置,此处的配置对应项目properties或yml配置文件的active(激活配置

--pl xxx-service/xxx-service-xx:只打包xxx-service/xxx-service-xx这个项目,因为xxx-service目录下可能存在多个项目

-am:表示同时处理选定模块所依赖的模块,此处xxx-service-xxx可能会依赖于其他模块,使用am(also-make)把依赖的一并打包进来

九、目标发布服务器配置

1.首先确保jar文件操作的目录/u01存在(若不存在可以执行创建命令mkdir u01,并且有权限(若没有权限可以执行命令:chmod 775 u01,在上面第七部分第1点已经介绍创建过此目录

 2.在u01目录下创建存放jar包的目录builds

 

并且赋权限

 

builds的命名对应第八部分的第6点Remote directory内容

 3.在u01下创建存放执行文件的目录scripts

 

并且赋权限

 

scripts的命名对应第八部分的第6点Exec command的部分内容

4.在自己的电脑创建一个名为:umapp-cloud-devops.sh的linux执行文件,编辑好后上传到/u01/scripts目录下,文件命名对应第八部分的第6点Exec command的部分内容。

可执行文件接收4个参数,提供start启动的方法,重启restart的方法,停止stop的方法,删除备份del_bak的方法,备份bak的方法

 

5.创建可执行文件需要的目录

①umapp-cloud-devops.sh文件有一个存放jar包启动文件的目录project,把jar从/u01/builds下移动到/u01/project/umapp下,所以在/u01下创建对应的目录

 

并且赋权限

chmod 775 project

 

进入到project

 

再创建umapp目录

 

并且赋权限

 

②umapp-cloud-devops.sh文件有一个从/u01/project/umapp备份jar包到/u01/bak/umapp的操作,所以在/u01下创建对应的目录

 

并且赋权限

 

进入到bak

 

再创建umapp目录

 

并且赋权限

 

6.配置系统启动需要的日志文件目录

根据项目配置的日志目录在/u01目录下创建日志目录

 

并且赋权限

 
 
 

十、构建项目

点击项目名称进入构建页面

 点击立即构建

 点击构建的序号查看构建情况

点击控制调输出查看构建情况

十一、构建前端web工程

前面第八、九、十是构建的java maven项目,此处构建的是纯前端项目。

1.添加前端打包需要的插件,系统管理-》插件管理,添加NodeJs Plugin。

 2.配置node全局工具,系统管理-》全局工具配置,找到NodeJs相关配置,选择NodeJs版本。

 注意NodeJs的版本选择,需要跟安装jenkins的服务器对应,太高的NodeJs版本,需要的Glibc版本比较高,否则打包的时候会报找不到高版本的Glibc。

 

可以通过命令查看服务器Glibc的版本信息

 
 

 此处我们选择nodeJS-14.17.6。

3.创建一个任务,新建任务-》构建一个自由风格的软件项目

4.General选择丢弃旧的构建,输入保持构建的最大个数

 5.源码管理选择Git的方式,添加项目的git地址

点击添加访问git地址的用户名和密码信息,此用户需要有权限访问git链接

填写对应的用户名密码即可

指定需要打包的分支

6.构建环境选择Provide Node & npm bin/ folder to PATH,选择在全局配置中配置的nodejs

 配置bulid构建的脚本

 

 8.构建后操作,选择通过ssh传输到目标服务器:Send build artifacts over SSH

Name:目标主机名称,前面配置主机时有提到,在第七部分的第2点配置的,若是配置了多台,则此处为下拉选择。

Source files:需要传输的文件路径,jenkins默认打出来的jar包放在/var/lib/jenkins/workspace目录下,后面的目录test-doravis为创建任务的名称,此处只用填写项目打包后的结尾文件名即可,前缀默认会拼接

Remove prefix:移除文件前缀,当从jenkins服务器把tar.gz文件通过ssh发送到目标服务器后,目标服务器存放tar.gz的目录,需要去掉的前缀(源jenkins存放tar.gz的目录为基础

Remote directory:远程目录,此目录是基于前面第七部分的第2点配置ssh server时定义的目录(/u01)为根目录。按此配置,则目标服务器上需要存在/u01/project的目录

 Exec command:配置传输到目标服务器后执行的命令

 

 9.保存配置,立即构建,构建成功后,在目标服务器存在此dist文件

 10.若是要访问前端项目,只需在nginx中配置下反向代理即可访问前端页面。

十二、权限分配

1.添加用户,系统管理-》jenkins专有用户数据库-》新建用户,填写用户信息

 2.添加角色分配插件,系统管理-》插件管理,添加Role-based Authorization Strategy插件

3.修改权限方式 ,系统管理-》全局安全配置,授权策略改为Role-Based Strategy

修改完成后,在系统管理才会出现Manage and Assign Roles

 4.配置权限,系统管理-》Manage and Assign Roles,可以配置角色,给用户分配角色。

 5.配置角色,系统管理-》Manage and Assign Roles-》Manage Roles

Global roles:最外层比较宏观的权限,全局角色,针对此角色配置操作某个菜单的权限

Item roles:针对任务进行的权限划分,使用正则标识式进行配置

此处全局角色,配置了一个view,只分配了一个read的权限;任务添加了一个web角色,使用正则表达式匹配任务名为web开头的任务。

 6.给用户分配角色,系统管理-》Manage and Assign Roles-》Assign Roles

此处给用户张三、李四分配的view角色,登录进来后看不到删除、编辑、添加相关的菜单。

 在item roles给张三、李四勾上可以操作的任务

此时用户张三、李四登录可以看到分配的任务,使用正则标识式匹配的任务列表

最新文章
金科重整方案落地:冯仑等投资人注资超33亿,未来布局特殊资产
  12月13日晚,金科地产集团股份有限公司(简称“金科股份”)发布的关于重整最新进展公告显示,上海品器联合体(上海品器、北京天娇绿苑联合体)已与金科股份及重庆金科正式签署重整投资协议,金科股份将累计获超33亿元的资金支持。  
电脑下载库音乐全攻略,轻松获取海量音乐资源,简单教程大揭秘!
本文介绍了如何轻松下载库音乐,简单易懂。通过本教程,您可以方便地获取海量音乐资源。您需要选择可信赖的音乐下载网站,然后搜索您喜欢的歌曲或歌手。点击下载按钮并按照提示完成下载过程。您可以将下载的音乐保存在本地计算机上,随时随
聊城事业单位招聘网——解密聊城各类事业单位招聘信息
聊城事业单位招聘网是聊城地区最权威的事业单位招聘信息发布平台。作为求职者在聊城地区找寻事业单位岗位的利器,聊城事业单位招聘网致力于为求职者提供最新、最全面的招聘信息和职位资讯。聊城是山东省的一个地级市,下设2个市辖区、7个县
外链建设指南:为支持视频内容的网站打造强有力的外链347
在竞争激烈的数字格局中,创建吸引观众的外链策略至关重要。对于支持视频内容的网站而言,建立高质量外链尤为重要,因为它可以极大地影响网站的可见性和权威性。规划外链建设策略1. 确定目标受众明确了解网站的目标受众对于创建有效的链接
直通车推广怎么收费,直通车推广的扣费规则
随着电商行业的飞速发展,越来越多的商家开始在各大电商平台上开设店铺,想要在竞争激烈的市场中脱颖而出,简单依靠自然流量已经远远不够。因此,许多卖家会选择使用推广工具来增加店铺的曝光率和转化率,而在淘宝平台上,直通车无疑是最为
聊城大学建筑工程学院2024年硕士研究生复试录取工作方案
根据《教育部关于印发〈2024年全国硕士研究生招生工作管理规定〉的通知》(教学[2023]2号)和《聊城大学2024年硕士研究生复试录取工作方案》的相关要求,结合学院实际,现将我院2024年硕士研究生招生考试复试相关工作安排如下:一、组织领
粉丝必看!如何设计一个吸睛的Logo?AI免费神器让你的专业形象更出众
还在找人花钱做logo设计?当然这里申明下,小编还是建议大家尊重设计劳动力尽量选择付费不过小编就是喜欢免费的,今天就给大家带来一个免费在线生成LOGO的工具。工具名称:搜狐简单AI工具地址https://ai.sohu.com/pc/generate/textToImg?030
浙马纪录挑战赛 |2024第五届浙马纪录挑战赛竞赛规程!
2024第五届浙马纪录挑战赛竞赛规程一、组织单位主办单位:临平区人民政府、浙江省马拉松及路跑协会 承办单位:临平区文化和广电旅游体育局、杭州雁渡寒潭体育运动俱乐部 协办单位:浙江黄龙体育文化培训有限公司、杭州电视台青少•体育频道
利用YouTube玩转独立站营销和SEO
YouTube是世界最大的社交平台之一,也是世界第二大的搜索引擎和世界最大的视频网站。虽然网络上能找到很多关于优化YouTube视频创作和频道运营的教程,但是如何利用YouTube来使您的网站实际受益呢?以下8点建议将会帮助你! 接下来,我们会
选品时如何评估竞争热度:搜索量多少算是竞争不激烈?
讲到选品时,我总是反复强调,除非你家大业大资金雄厚运营彪悍,否则,一定要选择偏冷门的产品。 那什么才算是偏冷门的产品呢? 为了让选品更有针对性、可量化,我专门给出建议:选择Best Seller日销量在50-150单的产品。 这样的产品,大卖
相关文章
推荐文章
发表评论
0评