当前位置: 首页 > news >正文

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进去某个文件里&#xff0c;可以按键盘的向下键查阅其它部分 记得每天备份虚拟机的项目 一.在linux安装jenkins 1.上传文件 我们采用安装包的方式安装。 先用SShclient在/usr/local/下创建jenkins文件夹&#xff0c;然后向其中导入两个包 2.安装jenkins 再在控制…...

【Kotlin基于selenium实现自动化测试】初识selenium以及搭建项目基本骨架(1)

导读大纲 1.1 Java: Selenium 首选语言1.2 配置一个强大的开发环境 1.1 Java: Selenium 首选语言 Java 是开发人员和测试人员进行自动化 Web 测试的首选 Java 和 Selenium 之间的协同作用受到各种因素的驱动,从而提高它们的有效性 为什么Java经常被认为是Selenium的首选语言 广…...

汽车追尾为什么是后车的责任?

简单点说&#xff1a;因为人后面没有长眼睛。 结论 在汽车追尾事故中&#xff0c;通常情况下后车被认为是责任方的原因在于交通法规对驾驶安全标准的约定和实践中的责任识别原则。虽然追尾事故常见地被归责于后车&#xff0c;但具体判断并不是绝对的&#xff0c;仍需综合多种…...

[运维]4.bookinfo无法部署的问题

为了拉取镜像&#xff0c;搭建了阿里云镜像仓库&#xff0c;教程见&#xff1a;K8S中基于NFS-Subdir-External-Provisioner存储组件实现的StorageClass-CSDN博客 但是bookinfo的ratings和productpage无法运行&#xff0c;部署后显示crashLoopBackOff [rootmaster ~]# kubectl…...

ACT调试pycharm报错

在运行ACT 代码时&#xff0c;根据官方readme使用命令行需要在wandb选择的时候输入3 但是&#xff0c;使用pycharm运行的时候会报错 wandb.errors.UsageError: api_key not configured (no-tty). call wandb.login(key[your_api_key]) 网上搜索都是说要注册什么key&#xf…...

记一次控件提升后,运行却不显示的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在虚拟环境中&#xff0c;结果在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关于光标的命令&#xff1a;2.3.2关于复制粘贴的命令2.3.3关于删除的命令2.3.4关于文本编辑的命令 2.4插…...

websockets库使用(基于Python)

主要参考资料&#xff1a; 【Python】websockets库的介绍及用法: https://blog.csdn.net/qq_53871375/article/details/135920231 python模块websockets&#xff0c;浏览器与服务器之间的双向通信: https://blog.csdn.net/randy521520/article/details/134752051 目录 websocke…...

Electron 主进程与渲染进程、预加载preload.js

在 Electron 中&#xff0c;主要控制两类进程&#xff1a; 主进程 、 渲染进程 。 Electron 应⽤的结构如下图&#xff1a; 如果需要更深入的了解electron进程&#xff0c;可以访问官网 流程模型 文档。 主进程 每个 Electron 应用都有一个单一的主进程&#xff0c;作为应用…...

鸿蒙harmonyos next纯flutter开发环境搭建

公司app是用纯flutter开发的&#xff0c;目前支持android和iOS&#xff0c;后续估计也会支持鸿蒙harmonyos。目前谷歌flutter并没有支持咱们国产手机操作系统鸿蒙harmonyos&#xff0c;于是乎国内有个叫OpenHarmony-SIG的组织&#xff0c;去做了鸿蒙harmonyos适配flutter开发的…...

【学习资源】人在环路的机器学习

说明&#xff1a;本文图片和内容来源 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的目标&#xff0c;学习过程&#xff0c…...

计算机毕业设计 基于Python的热门微博数据可视化分析系统的设计与实现 Python+Django+Vue 可视化大屏 附源码 讲解 文档

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…...

031集——文本文件按空格分行——C#学习笔记

如下图&#xff0c;读取每行文本&#xff0c;每行文本再按空格分开读取一个字符串&#xff0c;输出到另一个文本&#xff1a; CAD环境下&#xff0c;代码如下&#xff1a; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.Runtime; using System; using Sys…...

LabVIEW 成绩统计系统

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

SpringBoot技术栈:构建高效古典舞交流平台

第二章 相关技术介绍 2.1Java技术 Java是一种非常常用的编程语言&#xff0c;在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中&#xff0c;Java的身影无处不在&#xff0c;并且拥有旺盛的生命力。Java的跨平台能力十分强大&#xff0c;只需一次编译&#xf…...

Docker 容器日志记录与管理:日志输出、轮转与配置实践

Docker 容器化应用的日志管理是运维中的重要环节。容器默认会将标准输出(stdout)和标准错误(stderr)记录到日志文件中,但这些日志文件如果不加管理,可能会无限制地增长,最终导致磁盘空间耗尽。因此,了解如何规范化容器日志管理、配置日志轮转策略以及合理存储位置至关重…...

Django学习笔记一:MVT的示例

Django的MVT&#xff08;Model-View-Template&#xff09;架构是一种将应用程序的不同部分分离的方法&#xff0c;旨在提高代码的可维护性和可扩展性。MVT将应用分解为三个主要部分&#xff1a;Model&#xff08;模型&#xff09;、View&#xff08;视图&#xff09;和Template…...

集合框架01:集合的概念、Collection体系、Collection接口

1.集合的概念 集合是对象的容器&#xff0c;定义了多个对象进行操作的常用方法。可实现数组的功能。 集合和数组的区别&#xff1a; 1.数组长度固定&#xff0c;集合长度不固定&#xff1b; 2.数组可以存储基本类型和引用类型&#xff0c;集合只能存储引用类型&#xff1b; …...

shadcn-vue 快速开始

介绍 基于 Radix Vue 和 Tailwind CSS 构建的可重复使用的组件 一个由社区主导的非官方 Vue 版本的 shadcn/ui。虽然我们与 shadcn 没有正式的合作或联系&#xff0c;但在开始这个项目之前得到了作者本人的同意。创建这个项目的原因是 Vue 生态系统中缺乏类似的项目&#xff…...

Redis分布式锁进阶第一十一篇

一、本篇前置衔接 第一十一篇我们完成了全系列终局复盘&#xff0c;整理了故障排查SOP与企业级落地铁律。常规单资源锁、热点分片锁、隔离锁全部讲透&#xff0c;但真实复杂业务永远不是单一资源&#xff1a;下单要扣库存、扣优惠券、扣积分、冻结余额&#xff0c;多资源并行争…...

RAG 和 NotebookLM 都试过后,我才发现数据库知识库真正缺的不是搜索

很多数据库知识库不好用&#xff0c;不是模型不会答&#xff0c;而是知识没有被整理成可调用、可校验、可维护的资产。 前面几篇一直在聊 DB Agent。 聊 Skill&#xff0c;聊记忆&#xff0c;聊告警风暴&#xff0c;聊编排&#xff0c;也聊到了系统画像、历史案例和当前证据。…...

ESXi 7.0升8.0后VM启动失败?硬件版本降级就搞定

很多运维人员将ESXi 7.0成功升级到8.0后&#xff0c;会遇到一个棘手问题&#xff1a;原有虚拟机&#xff08;VM&#xff09;无法启动&#xff0c;弹出错误提示“incompatible hardware version”&#xff08;不兼容的硬件版本&#xff09;。其实故障核心原因很明确&#xff1a;…...

创业公司如何借助 Taotoken 的多模型聚合能力快速验证产品 AI 功能

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 创业公司如何借助 Taotoken 的多模型聚合能力快速验证产品 AI 功能 对于资源有限的创业团队而言&#xff0c;在产品早期快速验证核…...

ImageGlass完整指南:高效轻量的Windows图片查看神器

ImageGlass完整指南&#xff1a;高效轻量的Windows图片查看神器 【免费下载链接】ImageGlass &#x1f3de; A lightweight, versatile image viewer 项目地址: https://gitcode.com/gh_mirrors/im/ImageGlass 还在为Windows系统自带的图片查看器功能单一而烦恼&#xf…...

FreeRTOS队列深度剖析:从环形缓冲区到任务阻塞,你的消息真的发对了吗?

FreeRTOS队列深度剖析&#xff1a;从环形缓冲区到任务阻塞&#xff0c;你的消息真的发对了吗&#xff1f; 在嵌入式实时系统中&#xff0c;任务间的通信机制如同城市中的交通网络&#xff0c;而FreeRTOS队列则是这条网络中最核心的高速公路。当你的系统从简单的单任务演变为多任…...

10 万行 Rust 代码开发实测封神!AI 应用经验大揭秘

从 10 万行 Rust 代码开发中获得的 AI 应用经验 2025 年 12 月 1 日 在过去几个月里&#xff0c;对 AI 编码工具在构建实际生产级分布式系统方面的能力进行了压力测试。 结果是&#xff0c;开发出了一个基于 Rust 的多 Paxos 共识引擎。它不仅实现了 Azure 复制状态库&#xff…...

BilibiliDown音频提取终极指南:3分钟学会从B站视频提取高质量音乐

BilibiliDown音频提取终极指南&#xff1a;3分钟学会从B站视频提取高质量音乐 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.com/g…...

从SEO到GEO的技术跃迁:如何利用本地化RAG架构解决企业私域数据的“幻觉”难题?

在2026年的今天&#xff0c;传统的SEO&#xff08;搜索引擎优化&#xff09;正在经历一场前所未有的降维打击。当用户习惯从百度跳转至豆包、DeepSeek或Kimi等生成式AI提问时&#xff0c;流量的分发逻辑已经从“点击网页”变成了“AI直接生成答案”。这就是我们常说的 GEO&…...

ETS2LA自动驾驶插件:为《欧洲卡车模拟2》带来智能车道保持与模块化AI驾驶体验

ETS2LA自动驾驶插件&#xff1a;为《欧洲卡车模拟2》带来智能车道保持与模块化AI驾驶体验 【免费下载链接】Euro-Truck-Simulator-2-Lane-Assist Plugin based interface program for ETS2/ATS. 项目地址: https://gitcode.com/gh_mirrors/eur/Euro-Truck-Simulator-2-Lane-A…...