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-lts
    container_name: jenkins
    restart: always
    user: root
    ports:
      - "8888:8080"
      - "8089:50000"
    environment:
      - m=1024M
      - u=0
      - TZ=Asia/Shanghai
    volumes:
      - /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从节点的配置。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

为什么商业基础软件需要开源

Bytebase 本身是一家商业软件公司,而作为最核心资产的代码从 Day 0 却是开源的。同时我们还是 star-history.com 的运营者,大家在各种开源渠道会看到它生成的图: 一直以来,常会被别人问起的一个问题,就是为什么 Byteba…

RocketMQ部署 Linux方式和Docker方式

一、Linux部署 准备一台Linux机器,部署单master rocketmq节点 系统ip角色模式CENTOS10.4.7.126Nameserver,brokerMaster 1. 配置JDK rocketmq运行需要依赖jdk,安装步骤略。 2. 下载和配置 从官网下载安装包 https://rocketmq.apache.org/zh/downlo…

青翼科技自研2路250MSPS DA回放FMC子卡模块

FMC150_V30是一款基于VITA57.1规范的2路125MSPS采样率16位分辨率AD采集、2路250MSPS采样率16位分辨率DA回放FMC子卡模块。该模块遵循VITA57.1规范,可直接与符合VITA57.1规范的FPGA载卡配合使用,板卡ADC器件采用ADI公司的AD9268芯片,板卡DAC器…

LeetCode 33题:搜索旋转排序数组

目录 题目 思路 代码 暴力解法 分方向法 二分法 题目 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 …

【Linux】IO多路转接——epoll

目录 epoll初识 epoll的相关系统调用 epoll工作原理 epoll服务器 epoll的优点 epoll工作方式 对比LT和ET epoll初识 epoll也是系统提供的一个多路转接接口。 epoll系统调用也可以让我们的程序同时监视多个文件描述符上的事件是否就绪&#xff0c;与select和poll的定位是…

【量化课程】02_3.投资学基础概念

文章目录 1. 投资和投资学的关系1.1 什么是投资&#xff1f;1.2 什么是投资学&#xff1f; 2. 投资学的主要内容2.1 金融市场与投资环境2.1.1 金融资产2.1.2 债券市场的意义2.1.3 金融市场与经济2.1.4 投资过程2.1.5 竞争性的市场2.1.6 市场参与者2.1.7 主要的市场债券市场外汇…

介绍一些编程语言— Visual Basic 语言

介绍一些编程语言— Visual Basic 语言 Visual Basic 语言 简介 Visual Basic&#xff08;简称 VB&#xff09;是美国 Microsoft 公司于 1991 1991 1991 年研制的一种基于图形用户接口的 Windows 环境下的开发工具&#xff0c;是一种面向对象、可视化的新型开发工具&#x…

Integer中缓存池讲解

文章目录 一、简介二、实现原理三、修改缓存范围 一、简介 Integer缓存池是一种优化技术&#xff0c;用于提高整数对象的重用和性能。在Java中&#xff0c;对于整数值在 -128 到 127 之间的整数对象&#xff0c;会被放入缓存池中&#xff0c;以便重复使用。这是因为在这个范围…

C++QT教程3——手册4.11.1自带教程(笔记)——创建一个基于Qt Widget的应用程序

文章目录 创建一个基于Qt Widget的应用程序创建Text Finder项目素材文件 填补缺失的部分设计用户界面完成头文件完成源文件创建资源文件 编译和运行程序 参考文章 创建一个基于Qt Widget的应用程序 本教程介绍如何使用Qt Creator创建一个小型Qt应用程序&#xff0c;名为Text F…

maven如何建立JavaWeb项目并连接数据库,验证登录

这里是建立建立web项目&#xff1a;Maven如何创建Java web项目&#xff08;纯干货版&#xff09;&#xff01;&#xff01;&#xff01;_明天更新的博客-CSDN博客 我们主要演示如何连接数据库验证登录。 1.在webapp目录下创建我们的登录页面&#xff1a;index.jsp 还需要再…

STM32F4X-GPIO输入功能使用

STM32F4 GPIO输入模式配置 上一节讲GPIO的时候说到了将GPIO设置成输出模式&#xff0c;并通过将GPIO的电平拉高拉低控制LED灯的例程。GPIO除了用作输出功能之外&#xff0c;还可以用作输入功能。最常用的就是检测按键的输入电平。 硬件设计 本章的硬件是基于正点原子的探索者…

POSTGRESQL 关于安装中自动启动的问题 详解

开头还是介绍一下群&#xff0c;如果感兴趣Polardb ,mongodb ,MySQL ,Postgresql ,redis &#xff0c;SQL SERVER ,ORACLE,Oceanbase 等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请加 liuaustin3微信号 &…

IDEA 中Tomcat源码环境搭建

一、从仓库中拉取源代码 配置仓库地址、项目目录&#xff1b;点击Clone按钮&#xff0c;从仓库中拉取代码 Tomcat源码对应的github地址&#xff1a; https://github.com/apache/tomcat.git 二、安装Ant插件 打开 File -> Setting -> Plugins 三、添加Build文件 &…

24届近3年青岛理工大学自动化考研院校分析

今天给大家带来的是青岛理工大学控制考研分析 满满干货&#xff5e;还不快快点赞收藏 一、青岛理工大学 学校简介 青岛理工大学是一所以工为主&#xff0c;土木建筑、机械制造、环境能源学科特色鲜明&#xff0c;理工经管文法艺等学科协调发展的多科性大学。是国家首批地方…

SpringCloud实用篇6——elasticsearch搜索功能

目录 1 DSL查询文档1.1 DSL查询分类1.2 全文检索查询1.2.1 使用场景1.2.2 基本语法1.2.3 示例1.2.4 总结 1.3 精准查询1.3.1 term查询1.3.2 range查询1.3.3 总结 1.4.地理坐标查询1.4.1 矩形范围查询1.4.2 附近查询 1.5 复合查询1.5.1 相关性算分1.5.2 算分函数查询1&#xff0…

Linux fork()||fork()问题

以下代码会输出几个"A"&#xff1f; int main() { fork() || fork();printf("A\n");} 代码分析&#xff1a; //父进程fork() || fork();printf("A\n");这里父进程中的第一个fork先执行&#xff0c;产生一个子进程&#xff1a; //子进程…

图扑数字孪生智慧乡村综合管控平台

数字乡村是伴随网络化、信息化和数字化在农业农村经济社会发展中的应用&#xff0c;既是乡村振兴的战略方向&#xff0c;也是建设数字中国的重要内容。为了进一步提升乡村治理智能化、专业化水平&#xff0c;解决建设顶层缺失、数据孤岛等问题&#xff0c;数字孪生技术被广泛应…

SpringBoot、Java 使用 Jsoup 解析 HTML 页面

使用 Jsoup 解析 HTML 页面 什么是 Jsoup&#xff1f; Jsoup 是一个用于处理 HTML 页面的 Java 库&#xff0c;它提供了简单的 API&#xff0c;使得从 HTML 中提取数据变得非常容易。无论是获取特定标签的内容还是遍历整个页面的元素&#xff0c;Jsoup 都能轻松胜任。 如何使…

PHP自己的框架实现function引入和dump函数(完善篇一)

1、实现效果 2、创建三个function.php 3、文件加载&#xff08;KJ.php&#xff09; 定义目录 define("FILE_PATH",KJ_CORE./file); //定义框架文件路径define("COMMON_PATH",ROOT_PATH./common); //定义公共目录 加载文件 public static function run(){…

Pod控制器

Pod控制器 一、Deployment 部署无状态应用 负责创建和管理 ReplicaSet&#xff0c;维护 Pod 副本数量与期望值相同 负责创建和删除 Pod 资源&#xff0c;多个 Pod 副本时是并行执行的&#xff0c;升级策略默认为滚动更新的方式无中生有出配置文件 kubectl create deployment …