论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
后端开发
›
.Net
›
利用PasteSpider实现类似Jenkins的功能,让你的2G服务器 ...
利用PasteSpider实现类似Jenkins的功能,让你的2G服务器也可以飞起 ...
大连密封材料
金牌会员
|
2024-8-5 09:55:32
|
显示全部楼层
|
阅读模式
楼主
主题
811
|
帖子
811
|
积分
2433
大概你打仗过Jenkins,
在我理解就是拉取源码,然后构建成镜像,末了启动容器!
但是这个功能对于小内存的服务器来说就是奢望了!
今天介绍一个新版本,把你这个遗憾弥补下!
在PasteSpider中,也是支持拉取源码,然后编译发布的!!!
以下案例利用svn作为源码管理
假如你利用git作为源码管理,原理差不多
以我的代码为例
dotnet 6.0 + Linux AliBaba + PasteSpider v24.07.20.01
1.按照论坛的方式安装PasteSpider
一键安装PasteSpider
2.在服务器linux上安装dotnet
这个可以查看微软官方网站
https://learn.microsoft.com/zh-cn/dotnet/core/install/linux-scripted-manual#scripted-install
安装完成后执行下令监测下
dotnet --info
复制代码
SVN/GIT的配置
3.打开PasteSpider的管理端,找到菜单
以我的为例,我为项目
假如你启用了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文件
https://soft.pastecode.cn/Article/1
精华部分实在就在
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.准备测试
以上信息保存后,我们来提交一下代码!
注意看我的备注是update打头的,这个和我的步骤3的相对应!
我的启动前的资源利用情况
提交后,到PasteSpider的管理端的使命列表查看
在接收到对应的post-commit的推送后,会先执行镜像的构建,然后会基于配置执行升级!
或者是等候关照,比如我的
当然,假如执行失败了,则需要到使命的具体中查看,具体哪个下令失败了,比如我从前的
打开后,查看这个使命里面的子使命,哪条执行失败!
点击具体,会看到具体执行的下令,你可以把这个下令自己复制到服务器上去执行,看看为啥错误!
基于使命具体的反馈,假如有错误的修正后重新提交尝试!
升级后
多的部分,就是克隆下令后的编译发布花费的,利用ps -aux 可以查看到对应多出来的
查过资料,一段时间后这个会自己退出!
以是资源占用是非常划算的!
多测试几次,发现时间照旧有差的!
写在后面
实在克隆代码执行完成后,走的就是默认的服务的发布模式(就是开辟者在开辟机上发布项目到文件,然后把发布后的项目文件同步到服务器上,然后服务器基于发布的文件执行镜像的构建和对应服务的发布!)
也就是说克隆代码执行完成后,其他的步骤执行的逻辑就和发布模式同等了
比如会运行几个容器
端口配置
IP配置
nginx配置等
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
大连密封材料
金牌会员
这个人很懒什么都没写!
楼主热帖
Kubernetes(k8s)基础概念介绍 ...
这是啥SQL,室友看了人傻了
Java EnumMap putAll()方法具有什么功 ...
rk3399pro移植openharmony3.0移植笔记2 ...
Fastjson反序列化
Postgres14.4(Docker安装)
【游戏客户端与服务器面试题】-- 2022 ...
ClickHouse(02)ClickHouse架构设计介绍 ...
太厉害了,终于有人能把文件上传漏洞讲 ...
java结构之顺序结构
标签云
挺好的
服务器
快速回复
返回顶部
返回列表