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 生态系统中缺乏类似的项目ÿ…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
