【发布时间】:2018-11-08 13:12:42
【问题描述】:
我想使用 git-ftp 将我的存储库(因为我的许多客户的托管计划不包括 SSH 访问)部署到我的暂存环境中,其中 WordPress 作为子模块包含在内。这是我第一次尝试使用 Bitbucket 管道:
image: php:7.1
pipelines:
branches:
master:
- step:
deployment: staging
script:
- apt-get update
- apt-get -qq install git-ftp
- git ftp init -vv --user $sftp_user --passwd $sftp_passwd $sftp_path
尽管它没有部署 WordPress 存储库而是一个空的占位符文件,但它运行良好并将所有文件传输到我的服务器。
正如here 所说,对子模块的支持并不总是有效,但有一种解决方法
git submodule foreach git [init|push|catchup]
我使用 Bash 手动尝试了所有步骤,并且成功了:
$ git ftp init --user $sftp_user --passwd $sftp_passwd -vv $sftp_path
$ git submodule foreach 'git ftp init -vv $sftp_user --passwd $sftp_passwd -vv $sftp_path/$path/'
但是当我尝试将此解决方法应用于我的 bitbucket-pipelines.yml 时,子模块命令 foreach 似乎根本不起作用……仅测试命令输出
git submodule foreach 'echo $path'
+ git submodule foreach echo 'echo $path'
- 有人知道更好的解决方法吗?
- 为什么子模块(+ foreach)不起作用?是吗?
- 命令应该给你access to several variables,Bitbucket 的存储库变量会覆盖/阻止这些吗?
感谢您的帮助!
【问题讨论】:
标签: git deployment git-submodules bitbucket-pipelines git-ftp