使用PasteSpider实现类似Jenkins的功能,让你的2G服务器也可以飞起

news2024/9/27 21:18:53

获取你接触过Jenkins,在我理解就是拉取源码,然后构建成镜像,最后启动容器!

这个步骤你在PasteSpider上也可以实现,以下案例使用svn作为源码管理

如果你使用git作为源码管理,道理差不多

以我的代码为例

dotnet 6.0 + Linux AliBaba + PasteSpider v24.07.20.01

1.按照论坛的方式安装PasteSpider

一键安装PasteSpider

2.在服务器linux上安装dotnet

这个可以查看微软官方网站

在 Linux 上不使用包管理器的情况下安装 .NET - .NET | Microsoft Learn

安装完成后执行命令监测下

dotnet --info

SVN/GIT的配置

3.打开PasteSpider的管理端,找到菜单

image.png


以我的为例,我为项目

image.png

如果你启用了docker registry的私人仓库,则上面的配置中仓储那边要对应的选择,选择哪个要看你所选的服务

上面中要注意的是 克隆编译命令

我的如下

#删除旧的源码
rm -rf /spider/source/blog/tool/
#创建文件夹,可能文件夹不存在
mkdir -p /spider/settings/blog/tool/
#删除旧的配置文件,这一步看实际情况,因为拉取源码会把所有代码都覆盖
rm -rf /spider/settings/blog/tool/appsettings.json
#复制配置文件,留着备用
cp -f /spider/publish/blog/tool/appsettings.json /spider/settings/blog/tool/appsettings.json
#从服务端拉取源码,这个第一次的时候一般会失败,所以要直接去服务端试着拉取代码
svn checkout svn://your_svn_ip:your_svn_port/PasteSoft/PasteSoft --username=your_svn_name --password=your_svn_password /spider/source/blog/tool/
#构建命令,不同语言不一样处理,目的就是发布到文件夹
dotnet publish /spider/source/blog/tool/ -c release -r linux-x64 --self-contained false -o /spider/publish/blog/tool/
#删除拉取的配置文件
rm -rf /spider/publish/blog/tool/appsettings.json
#从刚刚备份的配置文件复制到发布文件夹
cp -f /spider/settings/blog/tool/appsettings.json /spider/publish/blog/tool/appsettings.json
#后续的动作由系统接管,其实就是构建镜像和升级!

以上需要注意的地方有

目录说明

/spider/这个是工作目录,就是PasteSpider的工作目录,对于宿主服务器的路径而言的,默认是/spider/

这个目录下有几个功能文件夹

source 表示用于存放svn拉取的源码的

publish 表示用于存放服务编译后(发布)的文件的

settings 用于存放项目服务的特别文件的,这个看需求

克隆编译命令 的目的就是拉取源码到source文件夹,然后通过对应语言的发布命令,发布到publish文件夹

功能文件夹下还有几层 

/spider/source/blog/tool/为例

spider是PasteSpider的工作目录

source是功能文件夹 表示源码

blog表示这个项目的代码

tool表示这个服务的代码

命令说明

命令一行一条,每行之间没有上下关系,也就是没有相对路径的说法,你得写全路径

如果是#开头的,则这一行命令不会被执行,是注释

更新说明

在配置的下方有一个表示,其实是多少个环境就多少行,然后注意后面那个命令开头

意思是源码提交的备注是这个字母开头的,才会触发升级,比如我的配置是

update 的开头 就可以触发

验证密钥注意下,下面的步骤4要使用

4 post-commit

假设你一键有一个SVN代码管理器的服务端,则参考如下文章进行配置并设置post-commit的hook文件

PasteSpider的运行条件之SVNManage中Hook的配置

精华部分其实就在

post-commit的内容上

#REPOS="$1"
#REV="$2"
export LANG=zh_CN
MESSAGE=$(svnlook log -r $2 $1)
curl -d "token=your_token&repos=$1&version=$2&info=$3&info=$MESSAGE" "https://spider.abc.com/api/spider/Code/svncommit"

假设访问https://spider.abc.com/page/index.html可以访问到我的PasteSpider管理端,则有如上配置

注意上面的your_token,和我们3步骤配置的验证密钥需要一致,一会有个地方要用

上面的文件保存好了后,注意修改post-commit的执行权限,需要能够执行,否则是不会生效的

5检查流程

以上按照要求配置后,特别注意的是命令相关的内容

服务器是否支持相关的命令

是否支持curl 这个用于推送信息到PasteSpider的接口上的

是否支持dotnet 这个要看你是啥语言,不同语言的编译发布命令是不一样的

是否支持svn 这个是拉取源码的,比如我这个服务器上找不到这个命令,就使用yum -y install svn 不同服务器要基于自己的去安装

一些登陆操作是否已经执行

比如svn这个拉取代码的操作,一般是要求第一次执行,会有一个提示,大致意思是登陆,授权啥的,你可以手动执行下

6.准备测试

以上信息保存后,我们来提交一下代码!

image.png

注意看我的备注是update打头的,这个和我的步骤3的相对应!

我的启动前的资源使用情况

image.png

提交后,到PasteSpider的管理端的任务列表查看

image.png

在接收到对应的post-commit的推送后,会先执行镜像的构建,然后会基于配置执行升级!

或者是等待通知,比如我的

image.png

当然,如果执行失败了,则需要到任务的详细中查看,具体哪个命令失败了,比如我以前的

image.png

打开后,查看这个任务里面的子任务,哪条执行失败!

image.png

点击详细,会看到具体执行的命令,你可以把这个命令自己复制到服务器上去执行,看看为啥错误!

基于任务详细的反馈,如果有错误的修正后重新提交尝试!

升级后

image.png


多的部分,就是克隆命令后的编译发布花费的,使用ps -aux 可以查看到对应多出来的

image.png

查过资料,一段时间后这个会自己退出!

所以资源占用是非常划算的!

多测试几次,发现时间还是有差的!

image.png

写在后面

其实克隆代码执行完成后,走的就是默认的服务的发布模式(就是开发者在开发机上发布项目到文件,然后把发布后的项目文件同步到服务器上,然后服务器基于发布的文件执行镜像的构建和对应服务的发布!)

也就是说克隆代码执行完成后,其他的步骤执行的逻辑就和发布模式一致了

比如会运行几个容器

端口配置

IP配置

nginx配置等

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

假期BUUCTF小练习3

文章目录 [极客大挑战 2019]BuyFlag[BJDCTF2020]Easy MD5[HCTF 2018]admin第一种方法 直接登录第二种方法 flack session伪造第三种方法Unicode欺骗 [MRCTF2020]你传你🐎呢[护网杯 2018]easy_tornadoSSTI注入 [ZJCTF 2019]NiZhuanSiWei [极客大挑战 2019]BuyFlag 一…

好用的AI智能写作助手,创作者必备

随着科技的不断发展,人工智能(AI)在各个领域都起到了革命性的作用。在写作领域,AI智能写作助手已经成为了创作者们的必备工具。这些智能助手通过强大的自然语言处理能力和深度学习算法,能够帮助创作者们提高写作效率、…

网络安全领域含金量最高的5大赛事,每个网安人的梦!

做网络安全一定要知道的5大赛事,含金量贼高,如果你能拿奖,国内大厂随你挑,几乎是每个有志网安人的梦! 一、 DEF CON CTF(DEF CON Capture the Flag) DEF CON CTF是DEF CON黑帽大会上的一项著名…

grep工具的使用

grep [options]…… pattern [file]…… 工作方式: grep 在一个或者多个文件中搜索字符串模板,如果模板中包括空格,需要使用引号引起来,模 板后的所有字符串会被看作是文件名。 工作结果:如果模板搜索成功&#xf…

算法力扣刷题记录 六十三【回溯章节开篇】

前言 开始回溯章节学习。 在二叉树中预先体会了回溯。那么回溯单独来说是怎么回事? 一、基础知识学习 回溯基础知识参考链接 二、组合问题 2.1题目阅读 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答…

C#--DirectShowLib 关闭自动白平衡和自动曝光时间

一、前言 因项目需要需关闭相机自身的自动白平衡和自动曝光时间,统统设定为恒定值,开始实验了opencvCvSharp,但是不起作用,故实验了更底层的 DirectShowLib ,可成功关闭相机自带的自动白平衡和自动曝光时间&#xff0c…

用script实现的一个简易计算机

目录 一、计算器原理 二、源码 三、结果展示 四、不足与改进 一、计算器原理 首先我们列出想象中简易计算器的样子: 虽然画的磕碜但是应该不影响下面的操作hh 首先想到用表格形式在网页中表示它,是一个5行4列的表格,接着要实现计算器的…

ShardingSphere中的ShardingJDBC常见分片算法的实现

文章目录 ShardingJDBC快速入门修改雪花算法和分表策略核心概念分片算法简单INLINE分片算法STANDARD标准分片算法COMPLEX_INLINE复杂分片算法CLASS_BASED自定义分片算法HINT_INLINE强制分片算法 注意事项 ShardingJDBC Git地址 快速入门 现在我存在两个数据库,并…

【传知代码】Flan-T5 使用指南(论文复现)

当今,自然语言处理技术正在以前所未有的速度和精度发展。在这个领域中,Flan-T5作为一种新兴的预训练语言模型,正吸引着广泛的关注和应用。Flan-T5不仅仅是一个强大的文本生成工具,它还能通过提供高效的语义理解和多任务学习能力&a…

【java计算机毕设】智慧校园管理系统MySQL springboot vue HTML maven寒暑假小组设计项目源码作业带文档安装环境

目录 1项目功能 2项目介绍 3项目地址 1项目功能 【java计算机毕设】智慧校园管理系统MySQL springboot vue HTML maven寒暑假小组设计项目源码作业带文档安装环境 2项目介绍 系统功能: 智慧校园管理系统包括管理员、用户、老师三种角色。 管理员功能包括个人中心…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 团队关系判定(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM金牌🏅️团队| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,支持题…

大语言模型学习笔记 LangChain简述

一、简述 LangChain是一个由大型语言模型 (LLM) 驱动的应用程序开发框架。LangChain 旨在为开发人员提供一系列功能,利用大型语言模型简化应用程序的创建和管理。 LangChain 可充当几乎所有 LLM 的通用接口,提供集中式开发环境来构建 LLM 应用程序并将其…

二十天刷leetcode【hot100】算法- day1[前端Typescript]

哈希表 1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你…

适用于个人使用的十大数据恢复工具:综合指南

有许多数据恢复工具和软件可用于帮助恢复丢失或损坏的文件。通过了解您的需求并考虑这里探讨的工具,您将能够选择最佳的数据恢复软件,并希望找回您丢失的宝藏。在本综合指南中,我们将探索个人使用的十大数据恢复工具,重点介绍它们…

ESP32人脸识别开发- 基础介绍(一)

一、ESP32人脸识别的方案介绍 目前ESP32和ESP32S3都是支持的,官方推的开发板有两种,一种 ESP-EYE ,没有LCD 另一种是ESP32S3-EYE,有带LCD屏 二、ESP32人脸识别选用ESP32的优势 ESP32S3带AI 加速功能,在人脸识别的速度是比ESP32快了不少 | S…

鸿蒙 IM 即时通讯开发实践,融云 IM HarmonyOS NEXT 版

融云完成针对“纯血鸿蒙”操作系统的 SDK 研发,HarmonyOS NEXT 版融云 IM SDK 已上线,开发者可在“鸿蒙生态伙伴 SDK 市场”查询使用。 发挥 20 年通信行业技术积累和领创品牌效应,融云为社交、娱乐、游戏、电商、出行、医疗等各行业提供专业…

【深澜计费管理系统存在任意文件读取漏洞复现和检测脚本】

目录 一、漏洞介绍 二、poc利用 三、批量检测脚本 一、漏洞介绍 深澜计费管理系统存在任意文件读取漏洞。攻击者可以利用这个漏洞读取服务器上的任何文件,包括配置文件、源代码文件和敏感数据等。 二、poc利用 360 quake: favicon: "1fc27943c1f0d9b54cc…

modin,一个强大的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个强大的 Python 库 - modin。 Github地址:https://github.com/modin-project/modin 在数据科学和机器学习的领域中,Pandas 是一个非常流行的数据处理…

Excel第33享:借助易用宝将多个表格合并到一个表格

1、需求描述 现有3个销售数据的Excel表格,希望将其整合到一个表格里,如下图所示。 2、具体操作 (1)下载一个插件“易用宝”。 下载地址:最新版下载 | Excel易用宝 如果本地址失效,可以直接百度搜索“易…

2024年企业电脑加密系统排名|电脑加密系统TOP8

随着信息技术的发展,数据安全变得尤为重要。企业需要可靠的加密系统来保护敏感信息不受内部或外部威胁。以下是我为您推荐的8款企业电脑加密系统,都是知名的产品。 1.安企神系统 简介:安企神是一款专注于企业数据安全管理的综合性软件&#…