提示
如果您刚刚接触Buddy, 推荐先查看 >>快速上手<< 以便轻易了解如何构建、测试与部署您的应用类型。
Buddy将部署变得轻而易举,允许您在每次推送到分支时自动更新服务器。 您还可以在点击时手动部署,或按时间间隔重复部署(定时部署)。
提醒
如果您在流水线中使用构建操作,请确保选择文件系统作为部署工件和处理文件的来源。
提示
点击测试按钮以在保存操作之前验证连接状态是否能正常连接
信息
Buddy的部署基于变更集。 这意味着只部署更改的文件,这使其闪电般快速⚡️。 第一次部署总是从头开始执行,除非您事先在服务器上设置了修订版。
为了通过SCP上传符号链接,通过添加-r参数来使用递归模式:
scp -r
但是,启用该模式也会复制符号链接指向的内容。如果我们只想复制符号链接,这事很麻烦,并且不可能用SCP以不同的方式来做。通常,我们可以通过使用rsync来解决:
rsync -avz -e ssh /scr-dir user@host:/dst-dir
可缺点是这种方法非常耗时。您将在下面找到如何使用Buddy实现自动化和加速的使用说明。
第一个解决方案使用一些简单的脚本和部署操作。首先,我们需要一个脚本grab-links.sh来列出文件夹中的所有符号链接。该脚本将以递归模式搜索文件夹并创建一个文件create-links.sh,其中包含将在目标服务器上重现符号链接的说明:
# !/bin/sh
echo "#!/bin/shn" > create-links.sh
for file in $(find . -type l); do
link=$(readlink $file);
echo "if [ ! -L $file ]; then ln -s $link $file; fi" >> create-links.sh;
done
现在,我们需要将脚本保存到一个grab-links.sh文件并执行:
chmod +x grab-links.sh
./grab-links.sh
这将生成create-links.sh,您可以将其上传并在目标服务器上运行以重现您的符号链接:
chmod +x create-links.sh
./create-links.sh
您可以在Buddy中创建一个流水线,该流水线将在每次推送到存储仓时自动执行所有这些步骤:
chmod +x grab-links.sh
./grab-links.sh
chmod +x create-links.sh
./create-links.sh
Git完全按照人们期望的方式处理符号链接:如果您将符号链接推送到存储仓并且其他人克隆了此存储仓,则符号链接将在其本地存储仓中复制。所以,基本上您需要做的就是在生产服务器上安装Git并运行:
git clone
您可以使用Buddy在每次推送存储仓时自动执行 git clone。一个优秀的做法是添加单元测试以确保您的代码在拉取之前没有错误。
使用Buddy上传符号链接只是该软件可以使用的众多用例之一。您可以扩展您的工作流程并配置Buddy,例如: