当前位置:  开发笔记 > 前端 > 正文

自动.gitlab-ci.yml lftp配置

如何解决《自动.gitlab-ci.ymllftp配置》经验,为你挑选了1个好方法。

我正在使用lftp来自动化gitlab ci部署.我运行一个脚本来部署我的代码,除了我需要上传到其他服务器的"静态"文件.这是我当前代码的示例.

script:
- >
  lftp
  -e "mirror
  --exclude ^\.git.*
  --exclude-glob *.sql
  --exclude-glob *.sqlite3
  --exclude-glob *.txt
  --exclude-glob *.csv
  --exclude-glob *.pyc
  --exclude settings.py
  --exclude migracion/
  --exclude static/
  --exclude ^Resources/Private/
  --exclude \.gitlab-ci.yaml
  -eRv $CI_PROJECT_DIR /pro/ject/dirs; quit;"
  sftp://$ACC

这工作正常,但在此之后,我必须手动将静态文件上传到静态文件服务器.你能帮我一个只能获取所有静态文件夹中文件的脚本吗?静态文件夹可以位于root用户和其他文件夹中.许多Thx.



1> PierreF..:

您可以使用 :

lftp -u username,passwd ftp.foobar.cmo \
     -e "mirror -e -R -x .git -x static/ -p ./ dev-site ; quit"

在镜子里:

-e :删除不再存在的文件

-R :表示从本地计算机上传到ftp服务器

-x:指定要排除的目录.你可以拥有多个-x

-p :并行化

./ :你想上传的本地目录

dev-site:远程目录,上传必须去.注意远程dir参数:

如果它与尾端(dev-site/),您的当前目录将上传INSIDE这个目录在FTP服务器上

如果它没有以trail(dev-site)结尾,那么你的当前dir将作为这个dir 上传到ftp服务器上

如果YOUT使用此与GitLab CI上传你的静态生成的文档,这里有一个例子.gitlab-ci.ymlmkdocs+ lftp:

# Build static html site with mkdocs :
build:
  stage: build
  script:
  - mkdocs build
 # first upload, exclude static files:
  - lftp -u ftp_username,$FTP_PASSWORD ftp.foobar.org -e "mirror -x static -R -p site dev ; quit"
 # upload only static to other server:
 - lftp -u ftp_username,$FTP_PASSWORD ftp.otherserv.org -e "mirror -R -p static/ remote/dir ; quit"

推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有