jenkins自动化构建保姆级教程(持续更新中)

1.安装

1.1版本说明

访问jenkins官网 https://www.jenkins.io/,进入到首页
jenkins官方首页
点击【Download】按钮进入到jenkins下载界面
jenkins下载界面
左侧显示的是最新的长期支持版本,右侧显示的是最新的可测试版本(可能不稳定),建议使用最新的长期支持版本,这里我使用2.401.3

1.2环境说明

使用虚拟机centos7系统,采用docker-compose方式安装

1.3安装必要条件说明

虚拟机通外网、安装好docker、docker-compose、jdk(17)、maven(3.9.3)、git,这些软件的安装请自行安装比较简单,如果不会,请找度娘,软件安装完后建议验证

docker docker version

docker-compose docker-compose -v

jdk java -version

maven mvn -v

git git --version

在虚拟机(centos7)系统的/root的目录下创建jenkins.yml构建文件

version : '3.8'
services:jenkins:image: jenkins/jenkins:2.401.3-ltscontainer_name: jenkinsrestart: alwaysuser: rootports:- "8888:8080"- "8089:50000"environment:- m=1024M- u=0- TZ=Asia/Shanghaivolumes:- /usr/java/jdk17.0.8:/usr/java/jdk17.0.8- /usr/java/maven3.9.3:/usr/java/maven3.9.3- /usr/libexec/git-core:/usr/libexec/git-core- /root/jenkins/home:/var/jenkins_home- /etc/localtime:/etc/localtime- /root/repo:/root/repo

配置文件说明:
a.必须指定user为root用户,否则启动时会报错提示/var/jenkins_home无访问权限
b.必须指定jdk、maven、git等运行环境宿主机和容器路径的映射关系,安装路径根据自己实际安装的路径修改

1.4 安装并启动

在jenkins.yml所在目录下执行一键启动命令 : docker-compose -f jenkins.yml所在路径 up -d

查看启动情况 : docker logs -f jenkins
在这里插入图片描述
红框中的内容为初始登录的密码,此时可以在浏览器输入:虚拟机ip:8888 进行访问
在这里插入图片描述
输入控制台密码,点击继续按钮软件需要加载一些必须的配置,请耐心等待一会,加载完成后即可进入到插件安装界面,鉴于对软件不熟悉,建议选择【安装推荐的插件】
在这里插入图片描述
点击进入到推荐插件安装界面,耐心等待安装完成
在这里插入图片描述
安装完成插件后自动进入到添加管理员账号界面,建议添加管理员账号,不要使用admin账户
在这里插入图片描述
在这里插入图片描述
点击【保存并完成】按钮,进入到实例配置界面,直接保存并完成即可
在这里插入图片描述
点击开始使用jenkins进入到首页
在这里插入图片描述

2.配置

2.1汉化(建议配置)

manage jenkins ->Plugins->installed plugins 搜索框中输入 local发现汉化插件已经安装,重启jenkins即可
在这里插入图片描述
重启jenkins
在这里插入图片描述
重启完成,再次访问,发现菜单都成中文了,汉化完成
在这里插入图片描述

2.2系统工具配置

主要配置Publish Over SSH,建打包完成的jar发送到指定服务器并执行运行操作
系统管理->系统配置
全局密钥、密码等信息配置
在这里插入图片描述
具体远程服务器信息配置
在这里插入图片描述
配置完成可以点击右下方的【Test Configuration】按钮进行测试,如果提示 “sucess”说明配置成功
在这里插入图片描述

2.3全局工具配置

maven settings.xml配置 、 jdk、maven
a.maven settings.xml配置
在这里插入图片描述
b.jdk配置(可配置多个,至少 配置一个)
在这里插入图片描述
c.git配置(可选,可以不配置使用默认的)
在这里插入图片描述
d.maven配置(可配置多个,至少配置一个)
在这里插入图片描述

3.使用

3.1前端vue项目构建

首页->新建任务
在这里插入图片描述
输入任务名称,可以使用下面的复制功能,复制一个已有的任务
在这里插入图片描述
点击【确定】按钮进入任务的配置界面
在这里插入图片描述
源码配置:源码仓库、访问凭证、构建分支等
在这里插入图片描述
自动化构建配置
在这里插入图片描述
构建环境设置
在这里插入图片描述
构建命令设置
在这里插入图片描述
远程服务器设置
在这里插入图片描述
配置完成后依次点击最下面的【应用】、【保存】按钮跳转到任务的构建界面,点击【立即构建】按钮 开始进行自动构建
在这里插入图片描述
开始构建后点击具体的构建版本(左下角的#1、#2、#3…)查看构建的情况
在这里插入图片描述
当最下面提示sucess后说明构建成功,赶紧试试吧

3.2后端springboot、springcloud项目构建

首页->新建任务,输入任务名称,选择构建一个maven项目
在这里插入图片描述
输入任务名称,可以使用下面的复制功能,复制一个已有的任务
在这里插入图片描述
点击【确定】按钮后进入到任务的配置界面
General配置(可选):
在这里插入图片描述
源码配置(必配项):
在这里插入图片描述
构建触发器配置(手动构建不需要配置):
在这里插入图片描述
构建环境配置(后端项目构建此项可不配置):
在这里插入图片描述
构建指令配置(必须配置):
在这里插入图片描述
特殊说明:
Root Pom文件中设置的是需要构建的maven项目的pom.xml,如果是maven多模块的项目 ,需要构建指定的模块,此处需要设置为指定模块的pom.xml,例如maven多模块项目的结构为a模块为父工程,a工程下面有b工程和c工程,如需要构建c工程,此处需设置为【c/pom.xml】
Goals and options 配置,此处需配置maven打包的指令,clean先清除jar 然后执行package打包,打包过程跳过测试 ,-P 后面配置的是打包的环境

打包完成的后续配置(发送jar到服务器,并运行):
远程服务器执行时机配置
在这里插入图片描述
添加远程服务器配置
在这里插入图片描述
远程服务器目录以及启动配置:
在这里插入图片描述
然后依次点击【应用】、【保存】按钮进入到任务的构建界面,点击【立即构建】按钮开始进行项目的构建
在这里插入图片描述
开始构建后点击具体的构建版本(左下角的#1、#2、#3…)查看构建的情况
在这里插入图片描述
当最下面提示sucess后说明构建成功,赶紧试试吧

4.高级应用

4.1jenkins分布式配置以及应用(jenkins主从)

4.1.1背景

在众多 Job 的场景下, 单台 jenkins master 同时执行代码 clone、 编译、 打包及构建,其性能可能会出现瓶颈从而会影响代码部署效率,影响 jenkins 官方提供了 jenkins 分布式构建, 将众多 job 分散运行到不同的 jenkins slave 节点, 大幅提高并行 job 的处理能力。

jenkins分布式就是有多个slave节点,当需要构建的项目非常多时,slave会承担master的工作量,在slave在上创建项目。

slave的环境要和master一致,master上安装了什么软件在slave上要准备相同的,并且路径最好保持一致,与master的区别在于不用安装jenkins

4.1.2 架构说明

在这里插入图片描述

4.1.3配置

master 192.168.2.54 slave-01 192.168.2.51

Jenkins master节点必须安装 SSH Build Agents plugin插件
在这里插入图片描述
slave节点配置

首页—》系统管理—》节点管理—》New Node 进入到新增节点界面,输入节点名称,选择固定节点,然年点击【Create】按钮
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置完成后,点击【保存】按钮完成jenkins从节点的配置。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

虚拟机的创建与使用

一、虚拟机的下载 链接:百度网盘下载链接 提取码:a9p4 二、新建虚拟机系统 需要有版本序列号 注意: 选择 第一个是纯dos 的窗口指令 桌面没有任何东西 选择第二个就是正常的操作系统.有文件夹 我的电脑之类的 三、从主机中复制文件到虚拟机中需要安装 …

Java-Sec-Code靶场

文章目录 前言1.靶场搭建靶场地址、环境Window环境修改点 靶场通关和源码分析命令注入RCE反序列化fastjson反序列化目录穿越文件上传Spel表达式sql注入poi-ooxml组件XXE 总结 前言 一直都是一个Java盲,但是如今Java却占据了开发的半壁江山,平时遇见的多…

贴吧照片和酷狗音乐简单爬取

爬取的基本步骤 很简单,主要是两大步 向url发起请求 这里注意找准对应资源的url,如果对应资源不让程序代码访问,这里可以伪装成浏览器发起请求。 解析上一步返回的源代码,从中提取想要的资源 这里解析看具体情况,一…

每天一道leetcode:797. 所有可能的路径(图论中等深度优先遍历)

今日份题目: 给你一个有 n 个节点的 有向无环图(DAG),请你找出所有从节点 0 到节点 n-1 的路径并输出(不要求按特定顺序) graph[i] 是一个从节点 i 可以访问的所有节点的列表(即从节点 i 到节…

力扣 139. 单词拆分

题目来源:https://leetcode.cn/problems/word-break/description/ C题解:将该题视为完全背包问题,因为每个单词都可以多次用。动规五部曲分析如下: 确定dp数组以及下标的含义。dp[i] : 字符串长度为i的话,dp[i]为true…

206、仿真-51单片机锂电池蓄电池电压电流加按键控制开关状态Proteus仿真设计(程序+Proteus仿真+配套资料等)

毕设帮助、开题指导、技术解答(有偿)见文未 目录 一、硬件设计 二、设计功能 三、Proteus仿真图 四、程序源码 资料包括: 需要完整的资料可以点击下面的名片加下我,找我要资源压缩包的百度网盘下载地址及提取码。 方案选择 单片机的选择 方案一&a…

最新AI系统ChatGPT网站程序源码+搭建教程/公众号/H5端/安装配置教程/完整知识库

1、前言 SparkAi系统是基于国外很火的ChatGPT进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。 那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧!…

【数据结构与算法】十大经典排序算法-选择排序

🌟个人博客:www.hellocode.top 🏰Java知识导航:Java-Navigate 🔥CSDN:HelloCode. 🌞知乎:HelloCode 🌴掘金:HelloCode ⚡如有问题,欢迎指正&#…

【学习FreeRTOS】第8章——FreeRTOS列表和列表项

1.列表和列表项的简介 列表是 FreeRTOS 中的一个数据结构,概念上和链表有点类似,列表被用来跟踪 FreeRTOS中的任务。列表项就是存放在列表中的项目。 列表相当于链表,列表项相当于节点,FreeRTOS 中的列表是一个双向环形链表列表的…

github中Keyless Google Maps API在网页中显示地图和标记 无需api key

使用Google Maps API在网页中显示地图和标记的示例博客。以下是一个简单的示例: C:\pythoncode\blog\google-map-markers-gh-pages\google-map-markers-gh-pages\index.html 介绍: 在本篇博客中,我们将学习如何使用Google Maps API在网页中…

从零开始学习 Java:简单易懂的入门指南之MAth、System(十二)

常见API,MAth、System 1 Math类1.1 概述1.2 常见方法1.3 算法小题(质数)1.4 算法小题(自幂数) 2 System类2.1 概述2.2 常见方法 1 Math类 1.1 概述 tips:了解内容 查看API文档,我们可以看到API文档中关于Math类的定义如下: Math类…

转行软件测试四个月学习,第一次面试经过分享

我是去年上半年从销售行业转行到测试的,从销售公司辞职之后选择去培训班培训软件测试,经历了四个月左右的培训,在培训班结课前两周就开始投简历了,在结课的时候顺利拿到了offer。在新的公司从事软件测试工作已经将近半年有余&…