搭建自己的服务器环境之Jenkins的安装和使用

Jenkins-slave分布式环境搭建 之前搭建过seleniumgrid的分布式环境,今天我们再来搭建一次Jenkins的分布式环境:jenkins-slaveJenkins的Master-Slave分布式架构主要是为了解决Jenkins单点构建任务多、负载较高、性能不足的场景。Master-Slave相当于Server和Agent的概念。Master提供web接口让用户来管理job和Slave,job可以运行在Master本机或者被分配到Slave上运行构建。 阅读详情

5. 自动化部署-Jenkins

官方文档

5.1 下载安装
war包下载运行
# 创建jenkins目录和工作目录
mkdir -p /opt/jenkins & mkdir -p /opt/jenkins/jenkins-data
cd /opt/jenkins
# 下载war包(很慢,可以本地先用下载工具下载下来,再scp到服务器
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war

由于需要用到启动和重启停止的功能,这里提供一个脚本来对应用进行操作

# 进入目录
cd /opt/jenkins
# 创建脚本文件,将下面的内容粘贴进来,保存退出
vim deploy.sh
# 赋予可执行权限
chmod +x deploy.sh

deploy.sh脚本内容

#!/bin/bash
# service running script.
source /etc/profile
action=$1
app=jenkins.war
# 清空日志
cp /dev/null nohup.out
  nohup java -Duser.home=/opt/jenkins/jenkins-data/ -Dhudson.util.ProcessTree.disable=true -Xms256m -Xmx512m -Djenkins.model.Jenkins.slaveAgentPort=50000 -jar $app --httpPort=8801 &
elif [ ${action} == 'stop' ];then
  ps -ef| grep $app | grep -v grep | awk '{print $2}' | xargs kill -15
elif [ ${action} == 'restart' ];then
  ps -ef| grep $app | grep -v grep | awk '{print $2}' | xargs kill -9
  sleep 2
  nohup java -Duser.home=/opt/jenkins/jenkins-data/ -Dhudson.util.ProcessTree.disable=true -Xms256m -Xmx512m -Djenkins.model.Jenkins.slaveAgentPort=50000 -jar $app --httpPort=8801 &
fi

war包运行脚本

说明:

  1. user.home 用来执行jenkins的工作目录, 会在这个目录下生成一个.jenkins的隐藏目录存储jenkins的数据
  2. hudson.util.ProcessTree.disable 这个是jenkins会杀死子进程的特性会导致运行脚本不起作用,所以这里一股脑的给禁用掉了
  3. –httpPort=8801 执行jenkins应用启动端口,注意这里是两个-, 但是这里渲染的看起来像一个
  4. jenkins.model.Jenkins.slaveAgentPort 有一个特性需要用到,这里开启备用
cd /opt/jenkins
# 启动
./deploy.sh start
# 重启
./deploy.sh restart
# 停止
./deploy.sh stop

查看启动日志,jenkins已经启动完成, 使用ip:8801访问,注意日志中会打印密码以及密码所在目录
查看启动日志,jenkins已经启动完成, 使用ip:8801访问,注意日志中会打印密码以及密码所在目录
输入密码之后, 解锁jenkins,一路按照指示安装,第一个安装建议的插件就行了,后续需要再单独下载,然后跟着步骤继续创建管理员帐号, 这部分跟着步骤会提示的,就不详细说明了

5.2 插件安装

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2P5ZVRG8-1606813343627)(index_files/image-20201123195437294.png)]

5.2 配置

配置不区分经典版和Blue Ocean,只是可能入口会多一些通道,但最终都能从主界面进去,因此不单独说明

5.2.1 全局工具配置

注意这些全局用到的工具,一定是提前安装好的,所以要按照自己机器的情况填入正确的路径
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5.2.3 个人信息配置

登录后右上角,个人信息图标点击后选择配置

  • API Token
    后面可以用来作为远程构建的参数凭证
    在这里插入图片描述

    在这里插入图片描述

    这个要复制下来记住备用,后面再进来的时候就看不到了
    在这里插入图片描述

5.4 经典版构建任务

通过maven插件的安装,现在构建任务时会多出来一个构建一个maven项目,我们用到的就是这一个

在这里插入图片描述

在这里插入图片描述

General

在这里插入图片描述

Source Code Management

在这里插入图片描述

添加凭证

在这里插入图片描述

Build Triggers

在这里插入图片描述

Build Environment

在这里插入图片描述

Build

在这里插入图片描述

Post Steps

在这里插入图片描述

在这里插入图片描述

这里即为上面脚本的内容,但这部分内容主要是为了理解要做什么,因为不同的应用情况这里执行的情况会有所不同。例如以下脚本的各种目录,这个要根据自己的情况,自己的项目放在了哪台服务器的哪个目录下,启动的方式是什么, 用的什么脚本来启动的,然后就要调整下面的内容,具体详细看一下下面的解释应该就能明白了,其实一共也就两行命令。

#!/bin/bash
# 避免子进程被杀死,无法执行后面的部署脚本
BUILD_ID=dontKillMe
source /etc/profile
# 将构建后的可执行jar包拷贝到项目部署目录, $WORKSPACE/boot-quick/target/spring-boot-quick-exec.jar根据项目名称以及打包后的jar包所在目录和可执行jar包名称按需修改
#   这里$WORKSPACE是jenkins变量为工作空间目录, target/spring-boot-quick-exec.jar为构建后可执行jar包所在目录, 统一在一起也是一个目录
# 拷贝这里有两种情况, 一种是项目部署和jenkins服务器再同一台服务器,那么这里就会变成本地拷贝, 如果不再同一台服务器就要写scp,而且还要配置ssh免登陆
# cp $WORKSPACE/target/spring-boot-quick-exec.jar /opt/services/boot-quick/
\cp -r $WORKSPACE/target/spring-boot-quick-exec.jar /opt/services/boot-quick/
# 执行部署脚本
cd /opt/services/boot-quick/ && sh deploy.sh restart
PUSHLISH OVER SSH(可选)

如果jenkins和目标服务不在同一台服务器除了上面说的用scp命令以外,还可以借助于这个插件,配置目标服务器的认证信息以及传输文件和目标文件夹等然后执行脚本命令等操作。

保存以上配置
构建入口

在这里插入图片描述

在这里插入图片描述

远程构建

参考步骤Build Triggers里的截图部分,将下面的提示url和token组合起来可以触发远程构建,这样不需要进入jenkins,直接访问一下这个url就能触发构建,配合脚本使用,可以节省很多时间,
按上面的例子则为http://xxxxxx:8801/job/boot-quick/build?token=11173ff1df11042e355xxxxxxx

这里有一个特例,在构建步骤General中之前说过有一个参数化构建的选项, 如果自己用到了这个参数化构建,且定义了参数而且在下面的execute shell中用到了这个变量,那么对应的远程构建也要通过url传递这个参数,所以看Build Triggers那里,有两个地址说明一个是简单的build还有一个是buildWithParameters,如果用到了别的参数的话就需要用到这个,当然也可以统一,不论用没有别的参数都用这个
例如http://xxxxxx:8801/job/boot-quick/buildWithParameters?token=11173ff1df11042e355xxxxxxx&param1=hahah&host=127.0.0.1

注意
经过测试,在浏览器上打开是可以直接构建,但原因可能是因为帐号已经登录了,并不是传参生效,因为在脚本中没有生效,还是提示没有权限,要登录。
参考https://stackoverflow.com/questions/25394445/jenkins-authentication-fails

# ApiToken的获取方式在上面有提到
curl -u dingdongfang:${ApiToken} http://xxxx:8801/job/boot-quick-gitee/build?token=11173ff1df11042e3558f45900278ba80d
【Linux环境搭建Jenkins服务】 作为Jenkins的学习新人,直接上手尝试搭建自己的Jenkins服务玩玩,也分享给大家一起学习 阅读详情

相关推荐

Jenkins搭建

例如: 每2分钟执行一次 H/2 * * * * (注意:要空一格,H/2 每隔两分钟,第二个* 任何时 ,第三个* 表示任何日,第四个* 表示任何的月,第五个* 表示任意周。值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar(注 意冒号前面有个"."一定要加上)第七步:等所有开发人员将bug修复好,再进行代码集成,交给测试进行回归测试 这样我们会陷入一个循环:修改bug­­­­集成代码­­­部署测试的循环中。

qq_49367496的博客 1163

Jenkins 在 Kubernetes 上的实践

Jenkins 是由 Java 编写的编排引擎,在 Full GC 时会 Stop The World(STW)。在大规模构建时,STW 可能会导致 Jenkins 无法处理新的请求。 配置较大的 -Xms -Xmx 参数 Jenkins 是由 Java 编写的编排引擎,在 Full GC 时会 Stop The World(STW)。在大规模构建时,STW 可能会导致 Jenkins 无法处理新的请求。 为了避免频繁的 STW,同时增大并发量,建议设置较大的堆,-Xms3g -Xmx6g -XX:

Free雅轩的博客 342

PHP呆错短视频系统 v1.4.5

php源码 开源免费 呆错短视频系统(DaiCuoVideo)是一款专业的免费视频管理系统,适合做短视频垂直细分内容平台。 系统稳定 内核安全稳定、PHP+MYSQL/SQLITE架构、跨平台运行。ThinkPhp+Jquery+BootStrap组合、超强负载能力助您轻松运营百万级站点。 三端合一 呆错短视频系统一套模板自适应电脑、手机、平板多个终端入口,完美适配微信、百度等多种APP浏览器,也可以独立设置移动端与电脑端模板分离。 功能模块 视频模块 分类模块 标签模块 解析模块 聚合模块 SEO模块 采集模块 API模块 搜索模块 统计模块 地图模块 广告模块 友链模块 文章模块 单页模块 云存储模块 用户模块 权限模块 字段模块 日志模块 菜单模块 水印模块 升级模块 插件模块 语言模块 缓存模块 伪静态模块 数据库模块 自适应模板

Docker部署的Jenkins如何更新版本

转载于Docker部署的Jenkins如何更新版本呢_Tomonkey的博客-优快云博客_docker jenkins升级 在这之前,使用docker-compose部署了docker,其中的脚本配置如下。 1. 安装Jenkins docker-compose.yml version: '3' services: jenkins: image: jenkins ports: - "8080:8080" - "50000:50000" volu...

架构师的成长之路的博客 6707

SpyGlass Lint脚本实战:从环境配置到报告生成的完整流程解析

本文详细解析了使用SpyGlass Lint脚本进行数字芯片设计代码质量检查的完整自动化流程。从环境配置、目录结构设计,到核心TCL脚本的编写与模块化配置,再到脚本执行、调试技巧及报告解读,提供了构建健壮、可维护自动化检查框架的实战指南。文章重点阐述了如何通过脚本实现从环境配置到报告生成的一键式操作,并探讨了与企业级CI/CD流程集成的进阶方案。

weixin_29196613的博客 441

线性代数学习笔记(十)——矩阵运算(二)

本篇笔记讲解矩阵的幂运算和矩阵的转置,其中矩阵进行幂运算的前提是矩阵为方阵,矩阵幂运算的两条性质与数的幂运算规则类似;矩阵转置的定义与行列式转置类似,但要注意由于矩阵的行数和列数不同,所以转置之后行数和列数变换。

li2008kui的专栏 1万+

如何安装nodejs、webpack

前言: 我在b站上面学习Vue的时候需要使用webpack进行模块化,那就安装webpack,老师说由于webpack需要nodejs的支持,所以我们还需安装nodejs,所以我就先安装nodejs,然后在安装webpack 第一步:安装nodejs 下载: 老师上面nodejs的版本是10.13.0,所以我也安装该版本,在nodejs官网上面是最新的12.8.4,这不符合我的要求,于是我找到了所有nodejs历史版本的链接(https://nodejs.org/dist/),由于我本次使用的nodejs版

qq_42449963的博客 1万+

树莓派4B没有serial0或ttyS0,serial0没有映射到ttyS0,serial0和serial1调换映射

环境: 树莓派4B,ubuntu mate20 现象 终端输入ls -l /dev,发现只有serial1->ttyAMA0,没有serial0页没有ttyS0,更没有二者的映射。网上很多方法都是树莓派3B和3B+的,我自己试过,不太适用于4B,下面的方法是4B的,我自己用是成功的。 解决方法 cd /boot/firmware sudo gedit config.txt 注意不是/boot下的config,而是/boot/firmware下的config 打开文件后,找到enable_uart=0

qq_41208487的博客 7891

Linux安装Jenkins

Jenkins

公号:一条coding 2557

手把手教你用Verilog实现MDIO控制器(附完整VHDL代码对比)

本文详细介绍了如何使用Verilog实现MDIO控制器,并提供了与VHDL实现的深度对比。通过解析MDIO协议核心要点,展示Verilog状态机架构设计和关键时序控制逻辑,同时对比VHDL在信号声明、状态机实现和双向端口处理上的差异。适用于以太网硬件设计开发者,帮助掌握MDIO控制器自主实现能力。

weixin_30682415的博客 423

高速PCB设计中的一些常用规则

目前,高速PCB产品设计中,高速接口的应用日益普及,对于复杂的设计而言,高速走线就如同“蜘蛛网”一样密布在PCB各处,因此,在进行PCB检查及评审时,必要的高速PCB设计经验法则及规则是工程师开展工作必不可少的知识储备。

一只豌豆象的博客 3415

CentOS服务器离线安装部署Jenkins完整指南:从零开始搭建持续集成环境

本文详细讲解在CentOS服务器离线环境下安装部署Jenkins的完整流程。内容涵盖JDK环境配置、Jenkins war包部署、服务启动优化、国内镜像配置、插件离线安装及汉化配置等关键环节。针对企业内网环境特点,提供从零开始的实战指南,解决网络隔离环境下的Jenkins部署难题,助力企业快速搭建稳定的持续集成环境。

weixin_54787369的博客 1095

基于Lstm+transformer的刀具磨损预测实战

基于Lstm+transformer的刀具磨损预测实战

2906

阿里云服务器centos下搭建Jenkins持续集成环境(安装jenkins)[1]

1、安装JDK yum install -y java 2、安装jenkins 添加Jenkins库到yum库,Jenkins将从这里下载安装。 wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo rpm --import https://jenkins-ci.org/r...

丿灬安之若死 1125

DJI O2协议物理层逆向工程解析:揭开无人机通信的神秘面纱

DJI的O2协议是其OcuSync传输技术的最新演进,应用于Mini 2、Mavic Air 2、Mavic Air 2s和Mavic 3等无人机模型。这种协议结合了多种先进无线通信技术,能够在远距离提供稳定可靠的低延迟连接。O2协议物理层(PHY)是OSI模型的最底层,负责在物理媒介上传输原始数据比特流。它定义了电气特性、调制方式、编码方案、数据传输速率和同步机制等。DJI O2协议的物理层逆向工程是一个复杂但极具价值的领域。

QQ_778132974的博客 2389

YOLO26改进策略【Neck】| ICCV2025 反向卷积 Converse2D 数学逆运算提重构 + 特征域建模降伪影,提升多尺度目标检测精度

本文记录的是利用Converse2D 算子改进 YOLO26 的上采样。(Converse 2D Convolution)通过正则化最小二乘闭式解与深度化空间建模结合,实现YOLO26特征提取与上采样阶段的卷积逆运算及特征精准重构。本文利用算子,通过闭式解的非迭代计算还原卷积下采样后的原始特征,再通过可学习核与自适应正则化参数稳定逆问题求解,同时依托圆形填充与插值初始估计保留特征高频细节,对YOLO26中不同尺度检测目标的特征进行针对性重构强化、抑制卷积/转置卷积带来的伪影与信息损失干扰,在特征融合与上采样

Limiiiing的博客 656

Jenkins简介及安装配置详解:开启持续集成之旅

Jenkins是一个开源的、用Java编写的持续集成和持续交付(CI/CD)工具。它提供了一种简单易用的方式来自动化构建、测试和部署软件。Jenkins的主要目标是帮助开发团队加快软件开发过程,提高软件质量,并通过自动化流程减少手动操作和重复性工作。持续集成:Jenkins支持通过持续集成管道(Pipeline)来自动化构建、测试和部署。它能够检测代码的变更,并触发相应的构建和测试过程,确保及时地发现和解决问题。插件生态系统:Jenkins拥有丰富的插件生态系统,可以扩展各种功能和集成其他工具。

唯有努力,方可自信! 1万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

阿里云服务器centos下搭建Jenkins持续集成andorid环境(安装jenkins)[2]

安装android-sdk 1.下载sdk-tools-linux-4333796.zip wget https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip unzip sdk-tools-linux-4333796.zip -d android-sdk cd android-sdk ls ====...

丿灬安之若死 343

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

腾讯云服务器环境搭建(二. 安装Jenkins与docker的基本使用)

前言 哈喽又见面了,虽然上一章写的内容并不多,非常基础,但是你们是不晓得我作为一个小白是整整花了一天的时间才搞定,中间不断的熟悉linux的一些命令,现在是2019年11月14日22:02:02计划今天把Jenkins搭建好,明天再学习使用docker Jenkis部署 1. ...

菜鸟新人 1107

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Jenkins+node+gitlab前端自动部署持续集成

一,服务器搭建node环境 最开始使用yum方式安装,最终在Jenkins配置node地址的时候找不到地址,后面改为源码包编译安装 选择下载目录:# cd /usr/local/ (为什么选择这个目录下载?) 下载源文件:# wget https://nodejs.org/dist/latest-v8.x/node-v8.11.4-linux-x64.tar.gz 解压源文件:# tar zx...

♾️ 4043

CentOS 服务器环境搭建(包括mysql5.7+jdk1.8+maven3.6+git+docker+docker-compose+jenkins)

CentOS 服务器环境搭建 (包括mysql5.7+jdk1.8+maven3.6+git+docker+docker-compose+jenkins) tomcat部署项目的时候没用到先不装了 后续添加negix和tomcat 一、 安装mysql5.7 1. 配置 yum 源 去 MySQL 官网下载 YUM 的 RPM 安装包,http://dev.mysql.com/download...

北眼的博客 608

Linux+Jenkins环境搭建

一、环境准备 Linux服务器搭建Jenkins需要准备一下环境 1.jdk环境 (1)使用java -version查看是否安装了jdk,出现以下结果说明已安装了jdk (2)若未安装,执行以下命令安装,等待安装完成 yum install -y java-1.8.0-openjdk-devel.x86_64 (3)出现以下结果,说明安装成功 (5)配置环境变量,执行vim /etc/profile,修改文件内容如下 export JAVA_HOME=/root/data/br/.

yhpapple的博客 1277

如何使用jenkins搭建一个中小企业前端项目部署环境

构建完成以后,我们需要把构建的产物推送到我们的服务器,所以需要用到ssh publisher这个插件。在jenkins中安装插件dingtalk,在系统管理中,最下面找到钉钉,配置机器人消息 我们提前在钉钉群中添加一个机器人,然后复制webhooks 填写好名称和webhooks,点击测试,关键字要和添加钉钉机器人的关键字一样的。本期分享到这里就结束了,当然我们还有很多事情还需要做的,怎么把静态资源部署到CDN,怎么做回滚,怎么做灰度发布,负载均衡等等一系列,后面等研究明白了,再给大家分享。

nhb687095的博客 951

从零开始搭建linux android jenkins持续集成

前言 此次编辑时间为2018-9-9,所有程序版本尽量使用最新版。搭建顺序大致为服务器->jenkins安装->android环境搭建->配置android任务,本片只是搭建基本的android项目持续集成,更深层次的玩法,如集成tinker热更新、自动分发等,后续再继续(随缘…)补充。 服务器搭建——腾讯云 腾讯云乞丐版,良心学生价10元/月,买不了吃亏买不了上当,但是1...

lk007007sclk1的博客 2302

Centos 7 搭建 Jenkins环境

安装 Jenkins Jenkins 简介 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。 Java 安装 首先我们需要准备 Java 环境,使用下面命令来安装 Java: yum -y install java-1.8.0-openjdk-devel Jenkins ...

菜鸟路上的小白 658

使用云服务器搭建自己的CI/CD环境(docker+Jenkins)

概要:本篇介绍使用宝塔Linux面板操作云服务器,搭建Jenkins和docker用于部署项目+持续集成。介绍如何通过docker部署spring boot项目和前端vue项目。

qq_52886103的博客 1869
上一篇: 搭建自己的服务器环境之基本工具安装
下一篇: 搭建自己的服务器环境之安装项目文档工具YApi
DDF_YiChen
博客等级 码龄12年 59粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值