1 搭建gitlab
参考这里,这里特别介绍如何建钩子。参考过这些文章:文章1 ,文章2,文章3
2 minio管理博文外链资源
利用minio搭建文件服务器,引子: https://www.bt.cn/bbs/thread-21821-1-1.html http://www.sohu.com/a/228665432_185201
项目开源地址: https://github.com/minio/minio
用docker的搞法,没弄过:https://www.moerats.com/archives/643/
上传客户端有多种多样,这种是js的: https://github.com/minio/minio-js/blob/master/examples/fget-object.js
设置永久链接: https://blog.csdn.net/LeonTom/article/details/101511100
minio官方文档,中文版: https://docs.min.io/cn/minio-quickstart-guide.html
2.1 使用minio
(1)下载安装
下载minio:https://docs.min.io/cn/
创建目录:mkdir /usr/local/minio
下载程序:axel-n 5 https://dl.min.io/server/minio/release/linux-amd64/minio
给执行权限:chmod +x minio
启动:nohup ./minio server /data &
启动信息包括以下内容:
Endpoint: http://172.17.0.3:9000 http://172.17.0.1:9000 http://127.0.0.1:9000
AccessKey: MSPIVMR6RZKC1QOX57G9
SecretKey: SzJbxj82CcSn6ZbOUC0IffpMl25pWXio5a6CgFJ2
Browser Access:
http://172.17.0.3:9000 http://172.17.0.1:9000 http://127.0.0.1:9000
Command-line Access: https://docs.min.io/docs/minio-client-quickstart-guide
$ mc config host add myminio http://172.17.0.3:9000 MSPIVMR6RZKC1QOX57G9 SzJbxj82CcSn6ZbOUC0IffpMl25pWXio5a6CgFJ2
Object API (Amazon S3 compatible):
Go: https://docs.min.io/docs/golang-client-quickstart-guide
Java: https://docs.min.io/docs/java-client-quickstart-guide
Python: https://docs.min.io/docs/python-client-quickstart-guide
JavaScript: https://docs.min.io/docs/javascript-client-quickstart-guide
.NET: https://docs.min.io/docs/dotnet-client-quickstart-guide
占用的是9000端口,可以直接访问了: http://roadl.com:9000/minio/login,输入accessKey和secretKey就能登录, 添加bucket就能往里面上传文件了,并能分享(但时效有限)。见下图:
(2)取消分享时限
为了让分享链接永久有效,方法如下:
-
下载minio客户端mc:
wget https://dl.minio.io/client/mc/release/linux-amd64/mc
-
设置自启动命令:
alias mc="./mc"
-
开放权限:
chmod 755 mc
-
添加配置许可:
mc config host add minio http://roadl.com:9000 accessKey secretKey S3v4
-
配置:
mc policy set download minio/mybucket
-
查看配置:
mc policy
更多命令可参考这里,更多使用实例 ,可以参考这里,开放restful接口的方法 ,可以参考这里
可以改密码,官方说是修改环境变量,这个地方坑比较多:
坑:
-
Unable to initialize admin connection. No valid configuration found for ‘127.0.0.1’ host alias
-
Unable to initialize new config from the provided credentials. Server not initialized, please try again
-
Unable to handle encrypted backend for config, iam and policies: madmin: invalid AEAD algorithm ID
可以仔细看一下这个文章 ,如果不行可能启动一个新的文件路径试试。
添加alias:
mc config host add myminio http://172.26.71.240:9000 username password
然后就可以用命令行来管理这个alias了,比如重启:mc admin service restart myminio
,上文的设置下载权限也是基于这个alias。
(3)切换外链
-
之前博客的所有静态资源,直接拖到minio的bucket文件夹里,
bucket在远程服务器就是文件夹
,比如**/data/roadl**文件夹 -
用idea将博客的引用批量更新为bucket的访问地址:http://roadl.com:9000/
(4)用接口写文件 可以参考这里