您现在的位置是:亿华云 > 数据库

使用GitHub Actions自动化部署FTP

亿华云2025-10-03 06:57:12【数据库】0人已围观

简介传统的 Web 开发人员常常喜欢通过 FTP 服务器直接编辑文件,而不是使用版本控制系统,主要原因是因为部署方便。利用 GitHub actions 可以非常简单地实现自动化部署。本文为大家展示一个基

传统的使用 Web 开发人员常常喜欢通过 FTP 服务器直接编辑文件,而不是动化使用版本控制系统,主要原因是部署因为部署方便。

利用 GitHub actions 可以非常简单地实现自动化部署。使用本文为大家展示一个基本的动化 PHP 示例。

1 开始使用 GitHub Actions

首先转到存储库并单击“操作”选项卡。部署然后创建工作流程。使用

图片

可以创建多个操作。动化这基本上会创建一个名为 .github/workflows 的部署文件夹结构。

在此文件夹下创建 .yml 文件,服务器租用使用以设置有关操作的动化规则。

2 部署 PHP 应用程序

以下是部署 PHP 示例的 FTP 部署操作:

复制on: push name: 🚀 Deploy website on push jobs: web-deploy: name: 🎉 Deploy runs-on: ubuntu-latest steps: - name: 🚚 Get latest code uses: actions/checkout@v3 - name: PHP Version run: php --version - name: Validate composer.json and composer.lock run: composer validate - name: Get Composer cache directory id: composer-cache #run: echo "::set-output name=dir::$(composer config cache-files-dir)" run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - name: Cache Composer vendor directory uses: actions/cache@v3 with: path: ${ { steps.composer-cache.outputs.dir }} key: ${ { runner.os }}-composer-${ { hashFiles(**/composer.lock) }} restore-keys: | ${ { runner.os }}-composer- - name: Install PHP dependencies run: composer install --no-progress --no-dev --optimize-autoloader - name: 📂 Sync files uses: SamKirkland/FTP-Deploy-Action@v4.3.4 with: server: ${ { secrets.FTP_SERVER }} username: ${ { secrets.FTP_USERNAME }} password: ${ { secrets.FTP_PASSWORD }} local-dir: ./ server-dir: ./api/ log-level: verbose1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.

解释一下规则;

on: 这是确定操作何时运行的地方。name: 上文提到可以有多个操作,使用这是动化此操作的名称。steps: 在同步操作之前设置步骤。部署在此示例中,检查 composer 文件和 PHP 版本,源码下载还使用另一个操作来缓存供应商文件。

最后,使用 FTP-Deploy-Action 将文件上传到服务器。

对于此部分,可以在 GitHub 密钥中存储。

图片

基本注意事项:

**local-dir: ** 此参数表示,可以指定 Git 仓库中的特定文件夹。

**server-dir: ** 此参数则指定了服务器上的文件夹。在示例中,直接将文件推送到了 /api/ 文件夹中。

很赞哦!(4)