Coding 图床方案

现在绝大多数自建博客用的图床方案都是 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 或 Gitee 当图床所不具备的优势。

🪛需要的准备

🛠️部署

打开 Coding 后创建一个项目

2022-03-12-16-35-57

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

2022-03-12-17-00-37

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

2022-03-12-17-03-48

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

2022-03-12-16-54-24

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

2022-03-12-17-18-30

点击确定后会自动跳转到配置流程,点击文本编辑器
输入以下代码,记得替换成自己的 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 "拉取完成"
}
}
}
}

2022-03-12-17-31-41

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

2022-03-12-17-41-09

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

2022-03-12-17-46-15

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

2022-03-12-19-02-15

🚀实际使用

开打PicGo/vs-picgo/Markdown Image中的任意一个,配置GitHub图床,将自定义网址替换为

1
2
https://你的团队名.coding.net/p/你的项目名称/d/你的代码仓库名称/git/raw/main

vs-picgo为例

2022-03-12-18-07-36

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


Coding 图床方案
https://www.myql.xyz/post/92e90c46/
作者
千泷
发布于
2022年3月11日
许可协议