1

我目前正在使用带有grunt-ssh-deploy的 Grunt 在通过存档完成构建后部署 build/ 文件夹,如下所示:

'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 但我找不到如何部署构建文件夹。

是否可以使用部署程序从 git 存储库部署特定文件夹?

4

1 回答 1

1

经过更多研究,特别是https://stackoverflow.com/a/25771130/1280034,我想出了一个适用于 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

于 2017-05-22T08:49:06.913 回答