php 仅部署构建文件夹
php deploy build folder only
我目前正在使用带有 grunt-ssh-deploy 的 Grunt 在通过存档完成构建后部署构建/文件夹,如下所示:
'ssh-deploy-release': {
options: {
localPath: 'build',
currentReleaseLink: 'current',
releasesToKeep: 3,
// ...
不过,这是从本地路径部署文件夹,我可以使用部署程序执行此操作:
task('deploy:staging', function() {
writeln('<info>Deploying...</info>');
upload('build/', '{{release_path}}/public');
// ...
但我想从 repo 部署特定的发布版本并使用 php-deployer 但我找不到如何 only 部署构建文件夹。
是否可以使用部署程序从 git 存储库部署特定文件夹?
经过更多研究,特别是 ,我想出了一个适用于 bitbucket 的新部署任务(github 用户可能想使用 svn export
,如评论区):
task('deploy:folder', function(){
$branch = env('branch');
$folder = get('folder');
run("git archive --remote=git@bitbucket.org:<repo> $branch $folder | tar xvf -")
// then move the folder content one level
// ...
});
似乎也可以使用 git sparse checkout
我目前正在使用带有 grunt-ssh-deploy 的 Grunt 在通过存档完成构建后部署构建/文件夹,如下所示:
'ssh-deploy-release': {
options: {
localPath: 'build',
currentReleaseLink: 'current',
releasesToKeep: 3,
// ...
不过,这是从本地路径部署文件夹,我可以使用部署程序执行此操作:
task('deploy:staging', function() {
writeln('<info>Deploying...</info>');
upload('build/', '{{release_path}}/public');
// ...
但我想从 repo 部署特定的发布版本并使用 php-deployer 但我找不到如何 only 部署构建文件夹。
是否可以使用部署程序从 git 存储库部署特定文件夹?
经过更多研究,特别是 ,我想出了一个适用于 bitbucket 的新部署任务(github 用户可能想使用 svn export
,如评论区):
task('deploy:folder', function(){
$branch = env('branch');
$folder = get('folder');
run("git archive --remote=git@bitbucket.org:<repo> $branch $folder | tar xvf -")
// then move the folder content one level
// ...
});
似乎也可以使用 git sparse checkout