从特定目录签出 GitHub Action

Posted

技术标签:

【中文标题】从特定目录签出 GitHub Action【英文标题】:GitHub Action checkout from specific directory 【发布时间】:2022-01-06 18:44:48 【问题描述】:

我正在尝试通过 ftp 在推送到主分支时将 repo 上传到服务器。我已经设置并工作了。但是在 repo 中有一个文件夹 /public。我只想将此文件夹中的文件上传到服务器。不是其他文件或文件夹本身。我试图为这项工作设置一个工作目录,但这似乎没有奏效..有什么想法吗?

 on: 
      push:
        branches:
          - master
    name: ???? Deploy website on push
    jobs:
      ftp-web-deploy:
        name: ???? Deploy
        runs-on: ubuntu-latest
        defaults:
          run:
            working-directory: ./public
        steps:
        - name: ???? Get latest code
          uses: actions/checkout@v2.4.0
          working-directory: ./public
          with: 
            fetch-depth: 2
        - name: ???? Sync files
          uses: SamKirkland/FTP-Deploy-Action@4.2.0
          with:
            server: ****
            username: ****
            password: $ secrets.prod_ftp_password 
            server-dir: public_html/

【问题讨论】:

【参考方案1】:

只签出一个目录是不可能的,但之前已经在actions/checkout存储库中请求过:https://github.com/actions/checkout/issues/483

有一个检查特定文件的操作,但我没有尝试过,我不确定它是否符合您的要求:https://github.com/marketplace/actions/checkout-files

您可能想问问自己为什么要尝试限制传输的文件数量。是因为你担心交通吗?还是因为后续操作中预期的输入?

如果是后者,您还可以通过运行一些mvrm 命令手动“修复”结构。

【讨论】:

以上是关于从特定目录签出 GitHub Action的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Dockerfile 中的特定提交处签出?

如何从命令行签出特定的 Subversion 版本?

无法从GitHub分叉存储库签出分支

如何要求 Spring Cloud Config 服务器从特定分支签出配置?

从 github 签出项目时,Eclipse 中的团队菜单中没有提交按钮

如何为 TFS 中组的特定用户提供签出和签入访问权限