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就能往里面上传文件了,并能分享(但时效有限)。见下图:

minio分享有时效

(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)用接口写文件 可以参考这里