Github Action 自托管服务器踩坑记录
Github Action 自托管服务器踩坑记录
我们的一个项目中使用 Github Action 来进行 CI/CD, 我们的痛点在于 Github Action 提供的缓存存储限制在10G, 而我们某个 job 的缓存比较大, 大约是 3.6G, 再加上别的缓存, 导致存储空间不够, 最终导致CI运行失败. 所以我们希望构建自托管服务器来解决这个问题. 其实一开始考虑的是能不能升级配置, 但是没找到能升级缓存存储大小的办法.
问题如图:
配置过程
使用 Terraform 配一台服务器, 使用的是阿里云, 具体配置如下, 可以参考
main.tf
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081locals { vpc_id = alicloud_vpc.vpc.id vswitch_ids = ...
Terraform初体验:配置腾讯云CVM
Terraform初体验:配置腾讯云CVM
首先明确目标:学习Terrafom, 并在腾讯云上成功配置一台CVM
安装Terraform
直接去官网Install页面按照指示安装即可
看看是否安装成功
12345terraform -version# 我的输出Terraform v1.13.3on windows_amd64
获取凭证
前往 云 API 密钥页面 申请安全凭证 SecretId 和 SecretKey。
登录 访问管理控制台,在左侧导航栏,选择访问密钥 > API 密钥管理。
在 API 密钥管理页面,单击新建密钥,即可以创建一对 SecretId/SecretKey。
可以新建一个子用户然后再来创建API密钥
使用方式主要有两种, 一种是静态凭证鉴权, 直接在配置文件中写入, 另一种是环境变量鉴权, 通过配置环境变量来获取, 为了演示, 我选择静态凭证鉴权
配置Terraform
基本使用文档可以参考官方文档
虽然说所有配置都是可以写在一个main.tf文件中, 但是这不符合最佳实践, 为了方便管理, 官方建议使用多个文件来管理配置, 所以我们创建一个目录 ...
2025九十月生活记录
f33a6d5ec2003e353696027d8241bf513ca6f8cde9767d20028f3d9c2c0b7b5206646e5401a9f0abe3506ca31da6f942e4594c7544209382d91eb06eb4db8979240e72a0214c1d2b2b9b69c1729b8b68eebb36c4aa66c0f403fc702361aadde4cfccdaa8505dc94ee47827af1fd31d2a8cef6749b3c3b6edad385b807bf8c9aec310bc5133a24c1d77bf616762f45b15d01ce941ef5c43218b6c6ebff95828f272f386038ce9d368113c835c4a8a49c54626a4bad7634ce7f3ee1c431e226750b898a2931bba07bc7b1f22d6b1fbed38c8551384d3534ceac1fbd0439aac4ebdd55e20d48d65e1db151a33ca7b4aa078cd783bf413318bf72 ...
RobustMQ初体验
RobustMQ初体验
一开始疯狂踩坑, 一大原因是服务器是centos 7.9版本的, 有点太旧了, 后来改用ubuntu 24.04就很丝滑, 建议早日放弃老古董doge
进入RobustMQ v0.2.0-RELEASE下载合适的版本, 我的服务器是x86_64架构的, 所以下载Linux AMD64 (robustmq-v0.2.0-RELEASE-linux-amd64.tar.gz)这个版本, 上传到服务器上
安装以及基本功能
解压
12tar -xzf robustmq-v0.2.0-RELEASE-linux-amd64.tar.gzcd robustmq-v0.2.0-RELEASE--linux-amd64
quick start
1./bin/robust-server start
是否启动成功
123456789101112131415161718192021./bin/robust-server status#如下 ╭──────────────────────────────────────────────────────────────── ...
2025七八月生活记录
f33a6d5ec2003e353696027d8241bf513ca6f8cde9767d20028f3d9c2c0b7b5206646e5401a9f0abe3506ca31da6f942e4594c7544209382d91eb06eb4db8979240e72a0214c1d2b2b9b69c1729b8b68eebb36c4aa66c0f403fc702361aadde4cfccdaa8505dc94ee47827af1fd31d2a8cef6749b3c3b6edad385b807bf8c9aec310bc5133a24c1d77bf616762f45b15d01ce941ef5c43218b6c6ebff95828f272f386038ce9d368113c835c4a8a49c54626a4bad7634ce7f3ee1c431e226750b898a2931bba07bc7b1f22d6b1fbed38c8551384d3534ceac1fbd0439aac4ebdd55e20d48d65e1db151a33ca7b4aa078cd783bf413318bf72 ...
CI配置时使用Makefile有哪些好处?
CI配置时使用Makefile有哪些好处?
一、什么是 Makefile?
Makefile 本质上是一个包含了一系列规则的文件。这些规则定义了如何编译和链接程序,每一个规则都由以下三个部分组成:
目标(Target): 想要生成的文件或想要执行的操作的名称,比如 install、test、clean 等。
依赖(Prerequisites): 为了生成目标,所需要依赖的文件或其他目标。
命令(Commands): 为了通过依赖来生成目标所需要执行的 shell 命令。
一个 Makefile 的基本结构如下:
123target: prerequisite1 prerequisite2 command1 command2
关键特性:
自动化: make 工具会自动读取 Makefile 并执行指定的命令,从而自动化编译、测试、部署等一系列任务。
抽象化: 可以将复杂的、多步骤的 shell 命令封装在一个简单的 make 命令背后。例如,make test 可能包含了安装依赖、启动数据库、运行测试套件、生成报告等多个步骤。
二、为什么在 CI 配置中使用 Ma ...





