gpt4 book ai didi

gitlab - 自动化 .gitlab-ci.yml lftp 配置

转载 作者:行者123 更新时间:2023-12-04 17:31:18 25 4
gpt4 key购买 nike

我正在使用 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

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

最佳答案

您可以使用 :

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 : 上传必须去的远程目录。注意远程目录参数:
  • 如果它以跟踪( dev-site/ )结尾,则您当前的目录将被上传 内部 ftp 服务器上的这个目录
  • 如果它没有以路径结尾( dev-site ),您当前的目录将被上传 AS ftp 服务器上的这个目录

  • 如果您将它与 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"

    关于gitlab - 自动化 .gitlab-ci.yml lftp 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41633518/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com