您当前的位置:首页 > 电脑百科 > 站长技术 > 服务器

如何使用Buddy自动部署到SFTP服务器

时间:2023-02-08 16:05:25  来源:今日头条  作者:東正科技

提示

如果您刚刚接触Buddy, 推荐先查看 >>快速上手<< 以便轻易了解如何构建、测试与部署您的应用类型。

Buddy将部署变得轻而易举,允许您在每次推送到分支时自动更新服务器。 您还可以在点击时手动部署,或按时间间隔重复部署(定时部署)。

 

配置SFTP操作

  1. 创建一个新项目,选择您的Git提供商并选择您的项目所在的存储仓
  2. 添加新流水线并配置详细信息:名称触发模式与要部署的分支
  3. 在操作列表上查找并点击SFTP:
  4. 配置操作相关信息:
  • 选择身份验证模式并将详细信息提供给您的服务器
  •  

提醒

如果您在流水线中使用构建操作,请确保选择文件系统作为部署工件和处理文件的来源。

  1. 当就绪时就点击添加此操作以完成配置

提示

点击测试按钮以在保存操作之前验证连接状态是否能正常连接

信息

Buddy的部署基于变更集。 这意味着只部署更改的文件,这使其闪电般快速⚡️。 第一次部署总是从头开始执行,除非您事先在服务器上设置了修订版。

您需要了解的信息​

  • 选择存储仓作为资源以仅部署存储仓中的文件。 如果您使用构建操作,请选择 流水线文件系统作为资源以添加工件、已处理文件和上传的静态文件。
  • 您可以使用环境变量将身份验证详细信息存储到您的服务器上
  • 您可以在更多选项中使用忽略路径排除要部署的文件

使用SFTP部署符号链接​

为了通过SCP上传符号链接,通过添加-r参数来使用递归模式:

scp -r

但是,启用该模式也会复制符号链接指向的内容。如果我们只想复制符号链接,这事很麻烦,并且不可能用SCP以不同的方式来做。通常,我们可以通过使用rsync来解决:

rsync -avz -e ssh /scr-dir user@host:/dst-dir

可缺点是这种方法非常耗时。您将在下面找到如何使用Buddy实现自动化和加速的使用说明。

方案1: 本地脚本 + 服务器上传 + 主机脚本​

第一个解决方案使用一些简单的脚本和部署操作。首先,我们需要一个脚本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中创建一个流水线,该流水线将在每次推送到存储仓时自动执行所有这些步骤:

  1. 将脚本grab-links.sh上传到存储仓
  2. 添加新流水线并将触发模式设置为事件推送触发
  3. 添加Build操作并输入将在Buddy的基础架构中运行脚本的命令:
 chmod +x grab-links.sh
 ./grab-links.sh
  1. 添加SFTP操作,该操作将使用新生成的脚本create-links.sh上传存储仓文件
  2. 添加SSH操作并输入将在目标服务器上执行脚本的命令:
 chmod +x create-links.sh
 ./create-links.sh

 

方案2: Git Clone​

Git完全按照人们期望的方式处理符号链接:如果您将符号链接推送到存储仓并且其他人克隆了此存储仓,则符号链接将在其本地存储仓中复制。所以,基本上您需要做的就是在生产服务器上安装Git并运行:

git clone

自动化​

您可以使用Buddy在每次推送存储仓时自动执行 git clone。一个优秀的做法是添加单元测试以确保您的代码在拉取之前没有错误。

  1. 添加新流水线并将触发模式设置为事件推送触发
  2. 添加php单元操作并定义您的测试,它同时也预装了Composer。
  3. 添加将在外部存储仓上执行git clone的SSH操作

 

总结​

使用Buddy上传符号链接只是该软件可以使用的众多用例之一。您可以扩展您的工作流程并配置Buddy,例如:

  • 在给定时间运行集成测试
  • 在Slack频道上通知您的团队所完成的部署
  • 在npm和Composer中使用环境变量来支持私有包


Tags:服务器   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
暴雪公布国服规则:当服务器开启时,将保证账号数据被完整保留
新浪科技讯 4月10日上午消息,暴雪娱乐、微软游戏与网易今日共同宣布,暴雪娱乐旗下的游戏作品,将根据更新后的游戏发行协议自今年夏季开始陆续重返中国大陆市场。消息公布后,暴雪...【详细内容】
2024-04-10  Search: 服务器  点击:(7)  评论:(0)  加入收藏
异步Rust:构建实时消息代理服务器
在本文中,我们将深入研究使用Rust构建实时消息代理服务器,展示其强大的并发特性。我们将使用Warp作为web服务器,并使用Tokio来管理异步任务。此外,我们将创建一个WebSocket客户...【详细内容】
2024-02-01  Search: 服务器  点击:(59)  评论:(0)  加入收藏
哪种服务器操作系统更好呢?
在当今的IT世界中,服务器操作系统扮演着至关重要的角色。它们是确保服务器能够高效、安全地运行的关键因素。然而,对于许多人来说,服务器操作系统的种类和特点可能是一个复杂的...【详细内容】
2024-01-30  Search: 服务器  点击:(80)  评论:(0)  加入收藏
什么是VPS服务器
VPS服务器是一种虚拟化技术,它将一台物理服务器划分为多个虚拟的独立服务器,每个虚拟服务器都可以拥有自己的操作系统、运行环境、应用程序等。这种技术使得每个虚拟服务器可...【详细内容】
2024-01-30  Search: 服务器  点击:(73)  评论:(0)  加入收藏
VPS服务器下载速度慢?这五招帮你提速
VPS服务器下载速度慢可能会让用户感到沮丧,尤其是对于需要大量下载和上传数据的用户。幸运的是,有一些方法可以帮助您提高VPS服务器的下载速度,使您的在线体验更加顺畅。在本文...【详细内容】
2024-01-30  Search: 服务器  点击:(60)  评论:(0)  加入收藏
美国VPS和英国VPS:地理位置对服务器性能的影响
在今天的数字时代,VPS已成为在线业务和网站托管的关键组成部分。然而,选择合适的VPS主机服务时,地理位置通常被忽视,尽管它对服务器性能有着重要的影响。本文将探讨美国VPS和英...【详细内容】
2024-01-26  Search: 服务器  点击:(56)  评论:(0)  加入收藏
如何判断服务器所需带宽:基于业务需求和流量模式的关键考量
在选择服务器时,带宽是一个重要的考虑因素。带宽的大小直接影响到网站的加载速度和用户的访问体验。那么,如何判断服务器需要多大的带宽呢?本文将为你揭示这一关键问题的答案...【详细内容】
2024-01-26  Search: 服务器  点击:(78)  评论:(0)  加入收藏
计算机服务器中了mallox勒索病毒解密方案计划,勒索病毒解密措施
计算机技术的不断应用与发展,为企业的生产运营提供了有利条件,但网络安全威胁无处不在。近期,广西某生物制药企业的计算机服务器遭到了mallox勒索病毒攻击,导致企业的计算机所有...【详细内容】
2024-01-26  Search: 服务器  点击:(91)  评论:(0)  加入收藏
服务器内存空间及IO操作原理解析
服务器的内存空间分为内核空间和用户空间,而我们编写的程序通常在用户空间中运行。在进行读写操作时,我们直接操作的是用户缓冲区,而用户缓冲区的内容来自于内核缓冲区。这种内...【详细内容】
2024-01-23  Search: 服务器  点击:(45)  评论:(0)  加入收藏
服务器证书和SSL证书有啥区别?
在互联网经济时代,随着越来越多的信息以及合作都是从企业官网开始的,因此绝大多数企业都会为自己的网站配置SSL证书,以提高安全性。在接触SSL证书时,也有很多人称之为服务器证书...【详细内容】
2024-01-10  Search: 服务器  点击:(66)  评论:(0)  加入收藏
▌简易百科推荐
为什么Nginx被称为“反向”代理呢?
Nginx(发音为"engine-x")是一款高性能、轻量级的开源Web服务器软件,也可用作反向代理服务器、负载均衡器和HTTP缓存。Nginx之所以有被称为“反向”代理,是因为它充当客户端设备...【详细内容】
2024-02-01  coderidea  微信公众号  Tags:Nginx   点击:(61)  评论:(0)  加入收藏
哪种服务器操作系统更好呢?
在当今的IT世界中,服务器操作系统扮演着至关重要的角色。它们是确保服务器能够高效、安全地运行的关键因素。然而,对于许多人来说,服务器操作系统的种类和特点可能是一个复杂的...【详细内容】
2024-01-30    简易百科  Tags:操作系统   点击:(80)  评论:(0)  加入收藏
什么是VPS服务器
VPS服务器是一种虚拟化技术,它将一台物理服务器划分为多个虚拟的独立服务器,每个虚拟服务器都可以拥有自己的操作系统、运行环境、应用程序等。这种技术使得每个虚拟服务器可...【详细内容】
2024-01-30    简易百科  Tags:VPS服务器   点击:(73)  评论:(0)  加入收藏
VPS服务器下载速度慢?这五招帮你提速
VPS服务器下载速度慢可能会让用户感到沮丧,尤其是对于需要大量下载和上传数据的用户。幸运的是,有一些方法可以帮助您提高VPS服务器的下载速度,使您的在线体验更加顺畅。在本文...【详细内容】
2024-01-30  IDC行业观察者    Tags:VPS服务器   点击:(60)  评论:(0)  加入收藏
美国VPS和英国VPS:地理位置对服务器性能的影响
在今天的数字时代,VPS已成为在线业务和网站托管的关键组成部分。然而,选择合适的VPS主机服务时,地理位置通常被忽视,尽管它对服务器性能有着重要的影响。本文将探讨美国VPS和英...【详细内容】
2024-01-26  IDC行业观察者    Tags:服务器   点击:(56)  评论:(0)  加入收藏
如何判断服务器所需带宽:基于业务需求和流量模式的关键考量
在选择服务器时,带宽是一个重要的考虑因素。带宽的大小直接影响到网站的加载速度和用户的访问体验。那么,如何判断服务器需要多大的带宽呢?本文将为你揭示这一关键问题的答案...【详细内容】
2024-01-26  源库科技    Tags:服务器   点击:(78)  评论:(0)  加入收藏
服务器内存空间及IO操作原理解析
服务器的内存空间分为内核空间和用户空间,而我们编写的程序通常在用户空间中运行。在进行读写操作时,我们直接操作的是用户缓冲区,而用户缓冲区的内容来自于内核缓冲区。这种内...【详细内容】
2024-01-23  王建立    Tags:服务器   点击:(45)  评论:(0)  加入收藏
如何在Java环境中安装Nginx?
1. 下载Nginx:首先,前往Nginx官方网站(https://nginx.org/en/download.html)下载新版本的Nginx。选择适合您操作系统的版本,通常有Windows、Linux和Mac等不同操作系统的版本可供...【详细内容】
2024-01-22  敲代码的小动    Tags:Nginx   点击:(69)  评论:(0)  加入收藏
服务器证书和SSL证书有啥区别?
在互联网经济时代,随着越来越多的信息以及合作都是从企业官网开始的,因此绝大多数企业都会为自己的网站配置SSL证书,以提高安全性。在接触SSL证书时,也有很多人称之为服务器证书...【详细内容】
2024-01-10  安信SSL证书    Tags:服务器证书   点击:(66)  评论:(0)  加入收藏
宝塔面板怎样部署java项目?
宝塔面板怎样部署java项目?在使用宝塔面板部署Java项目之前,需要确保已经安装了Java Development Kit (JDK)。接下来,将介绍如何使用宝塔面板来部署Java项目的步骤。步骤一:安装...【详细内容】
2024-01-09  西部数码    Tags:宝塔面板   点击:(118)  评论:(0)  加入收藏
站内最新
站内热门
站内头条