jenkins微服务
如果vim进去某个文件里,可以按键盘的向下键查阅其它部分
记得每天备份虚拟机的项目
一.在linux安装jenkins
1.上传文件
我们采用安装包的方式安装。
先用SShclient在/usr/local/下创建jenkins文件夹,然后向其中导入两个包


2.安装jenkins
再在控制台进入cd /usr/local/jenkins这个路径,并使用指令来安装jenkins
cd /usr/local/jenkins

安装指令
rpm -ivh jenkins-2.263-1.1.noarch.rpm
3.修改启动用户
再执行指令vim /etc/sysconfig/jenkins去把启动用户改为root
vim /etc/sysconfig/jenkins

,然后按键盘的ESC键, :wq保存退出
systemctl start Jenkins//启动jenkins
systemctl status Jenkins//查看jenkins的状态
systemctl start jenkins
systemctl status jenkins
运行时候遇到报错是正常的,大部分原因是没有加入java环境的问题。

执行vim /etc/rc.d/init.d/Jenkins
vim /etc/rc.d/init.d/Jenkins
来添加你的java环境,这里是你linux的java环境地址,我的是(/usr/local/jdk/jdk1.8.0_231/java)


然后按键盘的ESC键, (:wq)保存退出
再次启动jenkins systemctl start jenkins,然后会报错,再执行它说的systemctl daemon-reload就行,然后启动和查看jenkins的状态
systemctl start jenkinssystemctl daemon-reload


4.跳转到jenkins网站
在linux操作台完成上面的操作后,就可以去自己的浏览器上方的地址栏输入http://虚拟机ip:8080/

直接写自己的ip:8080也行
跳转成功后会来到一个页面,密码是在linux执行cat 画圈部分得到得到,复制下面的到输入框中然后继续。

cat /var/lib/jenkins/secrets/initialAdminPassword

跳转到第二个界面,直接点击右上角的X跳过就行了

因为你跳过了自定义,所以默认用户是admin,然后点击开始使用。

5.修改jenkins密码
进来先右上角的admin,再点左边的红圈,往下滑来到用户名和密码


把小黑点都删了然后自己重新起个密码,再点击左下角的save

Save后来到登录界面,用户是admin,密码是你刚才自己创立的
6.重新登录

二.插件查看和安装
1.查看已安装的插件(如果初次使用一般是没有插件的)


2.在linux里安装插件
我们再回到linux控制台上
cd /usr/local/Jenkins
解压文件(你在最开头拉进来的文件之一)
tar -zxvf jenkins-plugins.tar.gz
然后拷贝文件到/var/lib/jenkins/plugins/
cp -a plugins/* /var/lib/jenkins/plugins/
重新启动jenkins
/etc/init.d/jenkins restart

然后刷新jenkins页面重新登陆。

3.在linux安装git
再回到linux控制台 在/usr/local/下创建git文件夹

进入git路径下在执行解压操作
cd /usr/local/git
再进行解压
tar -zxvf git-2.33.0.tar.gz

安装所需要的依赖包
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

输入y

complete说明解压成功

进入解压后的目录,执行make命令(make prefix=/usr/local/git all)。注意后面的git的名字不一样,这里的加载有点长。

make prefix=/usr/local/git all
执行完后在执行一次make prefix=/usr/local/git install
打开配置文件
vim /etc/profile
把放入其中
#set gitexport PATH=$PATH:/usr/local/git/bin

如果发生下面这种情况按键盘上的E正常操作就行。

配置完后再加载一次配置文件。
source /etc/profile
检查一下你的git
git –version

4.在Jenkins添加git配置


Username和password是你gitee的名称和密码(Gitee - 基于 Git 的代码托管和研发协作平台)


5.写git流水线
点击NEW Item

第一步是自己取得名字,取完点2,最后3

蓝圈是自己的描述,红圈是代码编写的地方,我们主要去这里。

蓝圈是流水线的代码,我们先去红圈自动生成我们的git码

选择sample step 选择 git:Git


Repository URL是你一个仓库的地址
Branch是你建立的一个分支名,这里默认虽然是master,但是也要看你设置的分支。
Credentials是你在开头添加git配置的那个。
这些信息填好后就点左下角的

先把框里的复制了。
6.如何在gitee相应信息
下面是如何在你的gitee页面获得上面的这些信息

Gitee中点击
来获得你的Repository URL,点击2分支获得你的分支名,比如我的分支名就有master和develop两个

三.maven配置
1.上传文件apache-maven-3.3.9-bin.tar.gz

2.解压
先进入到对应的文件路径下
cd /usr/local/maven

然后解压
tar -zxvf apache-maven-3.3.9-bin.tar.gz
查看是否解压成功

3.配置环境变量
vim /etc/profile
![]()
#set maven
MAVEN_HOME=/usr/local/maven/apache-maven-3.3.9
PATH=${MAVEN_HOME}/bin:${PATH}
export PATH

4.加载环境变量
source /etc/profile
5.测试maven安装是否成功
mvn -v

6.配置linux的maven的settings.xml文件
先在linux自己创建以下文件


#打开setting文件,修改中央仓库为阿里的,不然速度太慢
vim /usr/local/maven/apache-maven-3.3.9/conf/settings.xml# 找到<mirrors></mirrors>标签对,添加以下内容
<mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf><releases><enabled>true</enabled><updatePolicy>always</updatePolicy></releases><snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots>
</mirror># 指定下载源位置
<localRepository>/usr/local/maven/apache-maven-3.3.9/repository</localRepository>
四.在Jenkins配置maven
重写登录jenkins网页

一直往下滑

这里本来没有的
五.写maven流水线
1.
代码在这不好看,所以我粘记事本讲解去了。
下面代码中有的路径是2,(比如说'/var/lib/jenkins/workspace/2'中的2),是我的项目的名字。


checkout=0
node {stage('pull code'){git branch: 'develop', credentialsId: '06451a1d-12c4-4ab9-8ebf-bfda87bf8e9f', url: 'https://gitee.com/yaoyu-fish/demo1.git'
}stage('check docker container'){script{checkout=sh(script: 'docker ps | grep d2',returnStatus: true)} }stage('compile'){dir('/var/lib/jenkins/workspace/2'){sh '/usr/local/maven/apache-maven-3.3.9/bin/mvn clean install '}}stage('remove docker container'){if(checkout==0){sh 'docker stop d3'sh 'docker rm d3'sh 'docker rmi jenkinsdemo1'}}stage('make docker container'){dir('/var/lib/jenkins/workspace/2/target'){sh "echo FROM openjdk:8 > Dockerfile"sh "echo ADD nginx20240819-1.0-SNAPSHOT.jar /app.jar >> Dockerfile"sh "echo RUN bash -c '\"'touch /app.jar'\"' >> Dockerfile"sh "echo ENTRYPOINT ['\"'java'\"','\"'-jar'\"','\"'/app.jar'\"'] >> Dockerfile"sh "echo RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime >> Dockerfile"sh "docker build -t demo01 ."}}stage('start'){sh 'docker run --name d3 -p 8888:8888 -d demo01'}
}

其它操作
你可以直接点右边的小三角,或者直接点日期进入。第二个是控制台,你可以在这看报错,也可以在上面图片中的流水进程中的log来查看错误或者是进度。


查看你已经建立的流水线项目

蓝球表示运行成功,红球失败,灰球执行被中断。
今天的学习就到这,希望能帮到大家。
相关文章:
jenkins微服务
如果vim进去某个文件里,可以按键盘的向下键查阅其它部分 记得每天备份虚拟机的项目 一.在linux安装jenkins 1.上传文件 我们采用安装包的方式安装。 先用SShclient在/usr/local/下创建jenkins文件夹,然后向其中导入两个包 2.安装jenkins 再在控制…...
【Kotlin基于selenium实现自动化测试】初识selenium以及搭建项目基本骨架(1)
导读大纲 1.1 Java: Selenium 首选语言1.2 配置一个强大的开发环境 1.1 Java: Selenium 首选语言 Java 是开发人员和测试人员进行自动化 Web 测试的首选 Java 和 Selenium 之间的协同作用受到各种因素的驱动,从而提高它们的有效性 为什么Java经常被认为是Selenium的首选语言 广…...
汽车追尾为什么是后车的责任?
简单点说:因为人后面没有长眼睛。 结论 在汽车追尾事故中,通常情况下后车被认为是责任方的原因在于交通法规对驾驶安全标准的约定和实践中的责任识别原则。虽然追尾事故常见地被归责于后车,但具体判断并不是绝对的,仍需综合多种…...
[运维]4.bookinfo无法部署的问题
为了拉取镜像,搭建了阿里云镜像仓库,教程见:K8S中基于NFS-Subdir-External-Provisioner存储组件实现的StorageClass-CSDN博客 但是bookinfo的ratings和productpage无法运行,部署后显示crashLoopBackOff [rootmaster ~]# kubectl…...
ACT调试pycharm报错
在运行ACT 代码时,根据官方readme使用命令行需要在wandb选择的时候输入3 但是,使用pycharm运行的时候会报错 wandb.errors.UsageError: api_key not configured (no-tty). call wandb.login(key[your_api_key]) 网上搜索都是说要注册什么key…...
记一次控件提升后,运行却不显示的Bug
.h文件 #ifndef VOLUMETOOLBTN_H #define VOLUMETOOLBTN_H#include <QToolButton> #include <memory>class VolumeToolBtn : public QToolButton { Q_OBJECTpublic:explicit VolumeToolBtn(QWidget *parent nullptr);~VolumeToolBtn() override;void initUi(); p…...
关于深度学习torch的环境配置问题
已经下好了torch在虚拟环境中,结果在ipynb文件中无法运行 后来在终端直接用python语句编译 发现没有问题 在编辑测试py文件 发现runcode有问题 原来是插件默认base环境 具体操作参考VS Code插件Code Runner使用python虚拟环境_coderunner怎么在虚拟环境中使用-CSD…...
Linux工具的使用——yum和vim的理解和使用
目录 linux工具的使用1.linux软件包管理器yum1.1yum的背景了解关于yum的拓展 1.2yum的使用 2.Linux编辑器-vim使用2.1vim的基本概念2.2vim的基本操作2.3命令模式命令集2.3.1关于光标的命令:2.3.2关于复制粘贴的命令2.3.3关于删除的命令2.3.4关于文本编辑的命令 2.4插…...
websockets库使用(基于Python)
主要参考资料: 【Python】websockets库的介绍及用法: https://blog.csdn.net/qq_53871375/article/details/135920231 python模块websockets,浏览器与服务器之间的双向通信: https://blog.csdn.net/randy521520/article/details/134752051 目录 websocke…...
Electron 主进程与渲染进程、预加载preload.js
在 Electron 中,主要控制两类进程: 主进程 、 渲染进程 。 Electron 应⽤的结构如下图: 如果需要更深入的了解electron进程,可以访问官网 流程模型 文档。 主进程 每个 Electron 应用都有一个单一的主进程,作为应用…...
鸿蒙harmonyos next纯flutter开发环境搭建
公司app是用纯flutter开发的,目前支持android和iOS,后续估计也会支持鸿蒙harmonyos。目前谷歌flutter并没有支持咱们国产手机操作系统鸿蒙harmonyos,于是乎国内有个叫OpenHarmony-SIG的组织,去做了鸿蒙harmonyos适配flutter开发的…...
【学习资源】人在环路的机器学习
说明:本文图片和内容来源 Human-in-the-Loop Machine Learning Human-in-the-Loop Machine Learning Active learning and annotation for human-centered AI by Robert (Munro) Monarch, June 2021 介绍Human-in-the-Loop的目标,学习过程,…...
计算机毕业设计 基于Python的热门微博数据可视化分析系统的设计与实现 Python+Django+Vue 可视化大屏 附源码 讲解 文档
🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…...
031集——文本文件按空格分行——C#学习笔记
如下图,读取每行文本,每行文本再按空格分开读取一个字符串,输出到另一个文本: CAD环境下,代码如下: using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.Runtime; using System; using Sys…...
LabVIEW 成绩统计系统
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...
SpringBoot技术栈:构建高效古典舞交流平台
第二章 相关技术介绍 2.1Java技术 Java是一种非常常用的编程语言,在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中,Java的身影无处不在,并且拥有旺盛的生命力。Java的跨平台能力十分强大,只需一次编译…...
Docker 容器日志记录与管理:日志输出、轮转与配置实践
Docker 容器化应用的日志管理是运维中的重要环节。容器默认会将标准输出(stdout)和标准错误(stderr)记录到日志文件中,但这些日志文件如果不加管理,可能会无限制地增长,最终导致磁盘空间耗尽。因此,了解如何规范化容器日志管理、配置日志轮转策略以及合理存储位置至关重…...
Django学习笔记一:MVT的示例
Django的MVT(Model-View-Template)架构是一种将应用程序的不同部分分离的方法,旨在提高代码的可维护性和可扩展性。MVT将应用分解为三个主要部分:Model(模型)、View(视图)和Template…...
集合框架01:集合的概念、Collection体系、Collection接口
1.集合的概念 集合是对象的容器,定义了多个对象进行操作的常用方法。可实现数组的功能。 集合和数组的区别: 1.数组长度固定,集合长度不固定; 2.数组可以存储基本类型和引用类型,集合只能存储引用类型; …...
shadcn-vue 快速开始
介绍 基于 Radix Vue 和 Tailwind CSS 构建的可重复使用的组件 一个由社区主导的非官方 Vue 版本的 shadcn/ui。虽然我们与 shadcn 没有正式的合作或联系,但在开始这个项目之前得到了作者本人的同意。创建这个项目的原因是 Vue 生态系统中缺乏类似的项目ÿ…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
