【问题标题】:How can I upload .env file on ftp server through github action using SamKirkland/FTP-Deploy-Action@3.1.1如何使用 SamKirkland/FTP-Deploy-Action@3.1.1 通过 github 操作在 ftp 服务器上上传 .env 文件
【发布时间】:2020-12-22 21:22:24
【问题描述】:

我是 github 操作的菜鸟。我试图通过 github 操作将 laravel 应用程序推送到我的服务器。这是我的 deploy.yml 文件中的 sn-p。

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          fetch-depth: 2

      - name: Create env file
        run: |
          touch .env
          echo APP_DEBUG=false >> .env
          echo DB_USERNAME=test_username >> .env
          echo DB_PASSWORD=${{ secrets.DEV_PASSWORD }} >> .env
        
      - name: List of files
        run: ls -a
          
     
      - name: FTP-Deploy-Action
        uses: SamKirkland/FTP-Deploy-Action@3.1.1
        with:
          ftp-server: ${{ secrets.DEV_FTP_SERVER }}
          ftp-username: ${{ secrets.DEV_FTP_USERNAME }}
          ftp-password: ${{ secrets.DEV_FTP_PASSWORD }}

在 github 工作流的控制台上

List output files                       0s
Run ls -a
.
..
.env     // created through "Create env file job"
.git
.github    // from github repo
README.md  // from github repo
index.php  // from github repo
...

当 FTP-Deploy-Action 开始运行时 它不会在 ftp 服务器上上传 .env。

我尝试通过SpicyPizza/create-envfile这个动作包创建.env文件来创建.env文件。

在我发现的操作控制台中

##[warning]Unexpected input(s) 'INPUT_ENVKEY_APP_DEBUG', 'INPUT_ENVKEY_SOME_KEY', 'INPUT_ENVKEY_SECRET_KEY', valid inputs are ['entryPoint', 'args', 'file_name']

无法创建 .env 文件。

虽然在尝试touch 命令创建 .env 后,我发现它没有在 ftp-server 中上传

如何通过 FTP 上传新创建的 .env 文件?

【问题讨论】:

    标签: ftp continuous-integration environment-variables continuous-deployment github-actions


    【解决方案1】:

    SamKirkland/FTP-Deploy-Action 使用 git ftp 上传文件。所以你需要将任何未跟踪的文件添加到.git-ftp-include

    Per resource

    .git-ftp-include 文件指定有意上传的未跟踪文件。

    Here is an example run

        name: FTP Test root upload
        on:
          push:
        jobs:
          ci:
            runs-on: ubuntu-latest
            steps:
              - uses: actions/checkout@v2
              - name: Create env file
                run: |
                  touch .env
                  echo APP_DEBUG=false >> .env
                  echo DB_USERNAME=test_username >> .env
                  echo DB_PASSWORD=${{ secrets.DEV_PASSWORD }} >> .env
                  echo "!.env" > .git-ftp-include # Add git untracked file
              - name: FTP-Deploy-Action
                uses: SamKirkland/FTP-Deploy-Action@3.1.1
                with:
                  ftp-server: ${{ secrets.DEV_FTP_SERVER }}
                  ftp-username: ${{ secrets.DEV_FTP_USERNAME }}
                  ftp-password: ${{ secrets.DEV_FTP_PASSWORD }}
    

    通知我们添加!.env 这 !基本上是告诉 git ftp 总是上传这个文件。没有它就行不通

    这是一个显示上传的示例日志。注意它是如何显示在日志中包含 .env 的

        Thu Sep  3 20:47:18 UTC 2020: Including .env for upload.
        Thu Sep  3 20:47:18 UTC 2020: Having files to sync.
        Thu Sep  3 20:47:18 UTC 2020: 9 files to sync:
        Thu Sep  3 20:47:18 UTC 2020: [1 of 9] Buffered for upload '.env'.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-05
      • 1970-01-01
      相关资源
      最近更新 更多