Coding 免费图床方案

本文由 Fluid 用户授权转载,版权归原作者所有。

本文作者:千泷
原文地址:https://www.myql.xyz/post/92e90c46/

现在绝大多数自建博客用的图床方案都是 GitHub + jsDelivr + PicGo,包括作者的站点也是一样,优点在于零成本,简单的搭建方式以及不错的访问速度,但随着 jsDelivr 备案被取消,国内访问不再稳定,我开始考虑更好的代替品。

之前其实也试过 Coding 或 Gitee 作为自建图床,但是体验都不是特别完美,Coding 图床支持的软件太少了,不管是管理还是上传都并不是很方便,而 Gitee 图床超过 1M 就必须登录才能查看,之前试过使用类似于 Sync Repo to Coding 将同步到 Coding,但是效果不太理想。

🤔 思路

通过 Coding 持续集成自动将 GitHub 仓库实时同步到 Coding 仓库,并且替换 PicGo 中自定义网址。

相同方法适用于 Gitee,不过更建议使用 Coding。

🧐 优势

Coding 每月 1000 分钟,单任务 30 分钟,并且不限次数,仅用来同步完全够用,并且构建速度极快,每次构建 7~8 秒左右,通过 PicGo 上传图片后几乎感觉不到太大的延迟就可以显示出图片。

相比于直接使用 Coding 或 Gitee 当图床的优势在于:

  • 支持的软件和项目变多
  • 可以通过 vscode 等一键替换已有链接,达成无感迁移
  • 不改变原有基于 GitHub + jsDelivr + PicGo 方案的使用方式
  • 可以搭配类似于 Imgbotaction-tinify 完成图片的自动压缩优化
  • 管理方面可以使用 picxboomb 类似的项目进行在线管理

🪛 需要的准备

🛠️ 部署

打开 Coding 后创建一个项目。

选择按需选择,勾选代码托管构建流水线&自动化测试完成创建。

进入项目后先创建项目令牌,记录下用户名和密码备用。

接下来导入 GitHub 中你选择当图床的仓库。

完成后点击持续集成选择构建计划划到最下方选择自定义构建过程,代码仓库选择GitHub选择你刚刚导入的仓库。

点击确定后会自动跳转到配置流程,点击文本编辑器 输入以下代码,记得替换成自己的 Coding 仓库 Url:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
pipeline {
agent any
stages {
stage("检出") {
steps {
checkout([
$class: 'GitSCM',
branches: [[name: GIT_BUILD_REF]],
userRemoteConfigs: [[
url: GIT_REPO_URL,
credentialsId: CREDENTIALS_ID
]]])
}
}
stage('拉取到Coding') {
steps {
echo "正在拉取"
sh 'git push -f https://$CODING_NAME:$CODING_TOKEN@e.coding.net/你的团队名/项目名称/代码仓库名称.git HEAD:main'
echo "拉取完成"
}
}
}
}

在环境变量里输入CODING_NAMECODING_TOKEN值就是刚刚申请的项目令牌的用户名和密码,完成后记得保存。

触发规则里修改触发方式为推送到main分支时触发,并且将手动触发改为main(可根据自己实际需求选择)。

完成后点击立即构建, 从现在起,你在 GitHub 上的仓库会自动同步到 Coding 仓库上,到此部署结束。

🚀 实际使用

开打 PicGo / vs-picgo / Markdown Image 中的任意一个,配置GitHub图床,将自定义网址替换为:
https://你的团队名.coding.net/p/你的项目名称/d/你的代码仓库名称/git/raw/main

vs-picgo 为例:

现在直接使用快捷键上传图像,图片会自动将 GitHub 的链接替换为 Coding 的链接,请开始愉快的写作吧!


Coding 免费图床方案
https://fluid-dev.cn/posts/coding-imagehost/
作者
Fluid
发布于
2022年3月11日
许可协议