文章目录

说来就很离谱。使用了这么久的持续集成来部署阿里云虚机的ftp,但是实际上一直有问题,经常无法完全部署上去,但是看日志又没有任何报错。

这次跟着解决搜索的问题,索性一并仔细找寻了一下。

整个过程一点都不轻松,因为完全没有头绪。开发最怕的事情是3件,1、找不到问题;2、找不到原因;3、找不到方法。我被成功卡在第二步。

不知道原因,只能不断的排除。能上传,说明基础配置是没有问题的。那么就调整lftp的参数,进行各种尝试。

废话不多说,直接上结果:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# This file is a template, and might need editing before it works on your project.
# Full project: https://gitlab.com/pages/hexo
image: node:12.14.1

cache:
paths:
- node_modules/

before_script:
- npm install hexo-cli -g
- test -e package.json && npm install
- hexo generate

pages:
script:
- apt-get update -qq && apt-get install -y -qq lftp
- lftp -c "set ftp:ssl-allow false; set ftp:ignore-pasv-address true; set ftp:prefer-epsv no; set ftp:charset gbk; set file:charset utf-8; debug; open -u $USERNAME,$PASSWORD $HOST; mirror -R public/ ./htdocs --verbose -p --ignore-time --transfer-all --parallel=5 --exclude-glob .git* --exclude .git/"
artifacts:
expire_in: 3 days
paths:
- public
only:
- master

重点在于把lftp命令提前到script中执行,并且添加–trasfer-all参数,尝试确保全部传输完毕。事实证明成功了。

原文在这里 使用GitLab CI持续集成并自动FTP同步

♦ 本文固定连接:http://gsgundam.com/2021-10-30-fix-hexo-gitlab-deploy-ci-yml/

♦ 转载请注明:GSGundam 2021年10月30日发布于 GSGUNDAM砍柴工

♦ 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

♦ 原创不易,如果页面上有适合你的广告,不妨点击一下看看,支持作者。(广告来源:Google Adsense)