良い展開を介して自動展開


リリース以来、githubアクション私のワークフローの自動化のための私の長期的なtodoリストにあります.おかげで、私は最終的にこのトピックに取り組んでいます.
今日は恥ずかしいことではないかと思いますが、私の個人的なオープンソースプロジェクトのほとんどは、私のサーバーに良いOOL ' FTPを通して手動でビルドしています.多分、私はちょうど私が生産にプッシュするファイルの上であまりにたくさんの支配をあきらめたくありませんでした.または15年以上の今のWeb開発を行った後、私はあまりにも何かを変更するには怠惰だった😅
しかし、私はFTPを経由してファイルを自動的にビルドする私のサーバーにファイルを発行する素晴らしいGithubアクションを見つけました.

マイワークフロー


それはFTP-Deploy-Action 利用できるサムKarklandによってGit-ftp . 私は主にVueを作成しています.Vue CLIによるJSアプリケーション-したがって、私の通常のワークフローは、常に以下のように見えました:
  • ➕ コードの変更を行う
  • 🔨 テストコードの変更
  • ✅ リポジトリにこれらの変更をコミットする
  • 🔁 を使用して新しいビルドファイルを作成するvue-cli-service build
  • ❌ 古いビルドファイルを削除する
  • ⏫ アップロード新しいビルドファイルを生産サーバーに
  • 特に最後の2点はいつも私を悩ましていました.なぜなら、ほとんどの場合、いくつかの小さな変更を押していたからです.そして、これは、git FTPが本当に支払うところです:それは最後のアップロード以来変更されたそれらのファイルだけをアップロードすることができます!これは特に多くのファイルを持つプロジェクトにとって非常に便利です.私のPHPプロジェクトのいくつかは、gitサブモジュールを使用し、ビルドごとにプロジェクト全体をアップロードすることで、信じられないほどの時間がかかります.したがって、私の新しいワークフローは次のようになります.
  • ➕ コードの変更を行う
  • 🔨 テストコードの変更
  • ✅ リポジトリにこれらの変更をコミットする
  • 🔁 を使用して新しいビルドファイルを作成するvue-cli-service build
  • 後ろに戻って、Github FTP配備アクションに残りをしさせてください
  • 提出カテゴリ


    ✅ DIY展開

    構成


    それで、どうやってこのFTP展開アクションを設定できますか?単に設定ファイルを作成する必要がありますftp-deploy.yamlyour-repo/.github/workflows/ . これは私の設定がどのように見えるかです.
    on:
      push:
        paths:
          - 'dist/*'
    name: FTP Deploy
    jobs:
      FTP-Deploy-Action:
        name: FTP-Deploy-Action
        runs-on: ubuntu-latest
        steps:
        - uses: actions/[email protected]
          with:
            fetch-depth: 2
        - name: FTP-Deploy-Action
          uses: SamKirkland/FTP-Deploy-Action@master
          with:
            ftp-server: ${{ secrets.ftp_server }}
            ftp-username: ${{ secrets.ftp_username }}
            ftp-password: ${{ secrets.ftp_password }}
            local-dir: dist/
    
    あなたが理解するために以下の各部分を説明するつもりです💡
    ライン
    解説
    1 - 4on: push: paths: ` dist/`ディレクトリにプッシュされたときにのみこのアクションを開始します( Vue CLIのデフォルトのビルドフォルダです).
    5name: Githubのリポジトリアクションタブに表示されるGithubアクションの名前.
    6 - 15jobs: FTP-Deploy-Action: ... これは、このアクションのデフォルトの設定ですits documentation .
    16with: このセクションでは、アクションのさらに必要な、または任意の構成を可能にします.
    17 - 19ftp-server: | ftp-username: | ftp-password: 明らかにGitHubサーバーのURL、ユーザー名とパスワードのようなFTPアクセスデータを知る必要があります.さらに明らかに、あなたはこれらのデータをencrypted secrets . ポート番号はURLに追加されます.セキュリティプロトコル(下記のセキュリティヒントを参照)を指定できます.ftps://your.ftp-server.com:2120local-dir: これは確かに、倉庫全体ではなく、(私の場合では)` dist/`ディレクトリがアップロードされ、ビルドファイルが生きていることを確認します.
    ボーナス:明示的にアップロードされてからいくつかのファイルを除外する場合は、作成することができます.git-ftp-ignore あなたのリポジトリのルートファイルで、.gitignore ファイル.

    追加情報


    githubアクションのリポジトリはこちらgit-ftp :

    サミーキルランド / FTP配備アクション


    GithubプロジェクトをFTPサーバに配備する


    Git FTP / Git FTP


    Gitを使用してFTPサーバーにのみ変更されたファイルをアップロードします。


    セキュリティヒント


    FTP自体がファイルを暗号化して暗号化しません.したがって、それは非常に両方のサポートされているftpsgit-ftp . ありがとう
    このトピックについての彼のコメントのために.

    それを包む


    したがって、GithubがFTPを介して自動的にファイルをビルドできるようにするのはかなり簡単です.つの設定ファイルを作成し、いくつかのリポジトリの秘密を設定する必要があります.
    FTP経由で展開しても、これは自分のワークフローに便利です.
    編集: 2020年9月4日(サーバURLの例とセキュリティヒントの追加)
    発行日:2020年9月3日
    titleイメージhttps://codepen.io/devmount/full/qBZPpEM