継続的インテグレーション - SamKirkland/[email protected] を使用して、github アクションを通じて .env ファイルを FTP サーバーにアップロードするにはどうすればよいですか?

okwaves2024-01-25  9

私は github アクションの初心者です。 githubアクションを通じてlaravelアプリをサーバーにプッシュしようとしていました。以下は、私のdeploy.ymlファイルからのスニペットです。

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/[email protected]
        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 の実行開始時 .env は FTP サーバーにアップロードされません。

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 サーバーにアップロードできないことがわかりました。

新しく作成した .env ファイルを FTP 経由でアップロードするにはどうすればよいですか?



------------------------

SamKirkland/FTP-Deploy-Action は、git ftp を使用してファイルをアップロードします。したがって、追跡されていないファイルを .git-ftp-include

に追加する必要があります。

リソースごと

.git-ftp-include ファイルは、アップロードする必要がある意図的に追跡されていないファイルを指定します。

これは実行例です

    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/[email protected]
            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'.

総合生活情報サイト - OKWAVES
総合生活情報サイト - OKWAVES
生活総合情報サイトokwaves(オールアバウト)。その道のプロ(専門家)が、日常生活をより豊かに快適にするノウハウから業界の最新動向、読み物コラムまで、多彩なコンテンツを発信。