良い展開を介して自動展開
5218 ワード
リリース以来、githubアクション私のワークフローの自動化のための私の長期的なtodoリストにあります.おかげで、私は最終的にこのトピックに取り組んでいます.
今日は恥ずかしいことではないかと思いますが、私の個人的なオープンソースプロジェクトのほとんどは、私のサーバーに良いOOL ' FTPを通して手動でビルドしています.多分、私はちょうど私が生産にプッシュするファイルの上であまりにたくさんの支配をあきらめたくありませんでした.または15年以上の今のWeb開発を行った後、私はあまりにも何かを変更するには怠惰だった😅
しかし、私はFTPを経由してファイルを自動的にビルドする私のサーバーにファイルを発行する素晴らしいGithubアクションを見つけました.
それはFTP-Deploy-Action 利用できるサムKarklandによってGit-ftp . 私は主にVueを作成しています.Vue CLIによるJSアプリケーション-したがって、私の通常のワークフローは、常に以下のように見えました: ➕ コードの変更を行う 🔨 テストコードの変更 ✅ リポジトリにこれらの変更をコミットする 🔁 を使用して新しいビルドファイルを作成する ❌ 古いビルドファイルを削除する ⏫ アップロード新しいビルドファイルを生産サーバーに 特に最後の2点はいつも私を悩ましていました.なぜなら、ほとんどの場合、いくつかの小さな変更を押していたからです.そして、これは、git FTPが本当に支払うところです:それは最後のアップロード以来変更されたそれらのファイルだけをアップロードすることができます!これは特に多くのファイルを持つプロジェクトにとって非常に便利です.私のPHPプロジェクトのいくつかは、gitサブモジュールを使用し、ビルドごとにプロジェクト全体をアップロードすることで、信じられないほどの時間がかかります.したがって、私の新しいワークフローは次のようになります. ➕ コードの変更を行う 🔨 テストコードの変更 ✅ リポジトリにこれらの変更をコミットする 🔁 を使用して新しいビルドファイルを作成する 後ろに戻って、Github FTP配備アクションに残りをしさせてください
✅ DIY展開
それで、どうやってこのFTP展開アクションを設定できますか?単に設定ファイルを作成する必要があります
ライン
解説
1 - 4
5
6 - 15
16
17 - 19
ボーナス:明示的にアップロードされてからいくつかのファイルを除外する場合は、作成することができます
githubアクションのリポジトリはこちら
FTP自体がファイルを暗号化して暗号化しません.したがって、それは非常に両方のサポートされているftps
このトピックについての彼のコメントのために.
したがって、GithubがFTPを介して自動的にファイルをビルドできるようにするのはかなり簡単です.つの設定ファイルを作成し、いくつかのリポジトリの秘密を設定する必要があります.
FTP経由で展開しても、これは自分のワークフローに便利です.
編集: 2020年9月4日(サーバURLの例とセキュリティヒントの追加)
発行日:2020年9月3日
titleイメージhttps://codepen.io/devmount/full/qBZPpEM
今日は恥ずかしいことではないかと思いますが、私の個人的なオープンソースプロジェクトのほとんどは、私のサーバーに良いOOL ' FTPを通して手動でビルドしています.多分、私はちょうど私が生産にプッシュするファイルの上であまりにたくさんの支配をあきらめたくありませんでした.または15年以上の今のWeb開発を行った後、私はあまりにも何かを変更するには怠惰だった😅
しかし、私はFTPを経由してファイルを自動的にビルドする私のサーバーにファイルを発行する素晴らしいGithubアクションを見つけました.
マイワークフロー
それはFTP-Deploy-Action 利用できるサムKarklandによってGit-ftp . 私は主にVueを作成しています.Vue CLIによるJSアプリケーション-したがって、私の通常のワークフローは、常に以下のように見えました:
vue-cli-service build
vue-cli-service build
提出カテゴリ
✅ DIY展開
構成
それで、どうやってこのFTP展開アクションを設定できますか?単に設定ファイルを作成する必要があります
ftp-deploy.yaml
下your-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 - 4
on: push: paths:
` dist/`ディレクトリにプッシュされたときにのみこのアクションを開始します( Vue CLIのデフォルトのビルドフォルダです).5
name:
Githubのリポジトリアクションタブに表示されるGithubアクションの名前.6 - 15
jobs: FTP-Deploy-Action: ...
これは、このアクションのデフォルトの設定ですits documentation .16
with:
このセクションでは、アクションのさらに必要な、または任意の構成を可能にします.17 - 19
ftp-server: | ftp-username: | ftp-password:
明らかにGitHubサーバーのURL、ユーザー名とパスワードのようなFTPアクセスデータを知る必要があります.さらに明らかに、あなたはこれらのデータをencrypted secrets . ポート番号はURLに追加されます.セキュリティプロトコル(下記のセキュリティヒントを参照)を指定できます.ftps://your.ftp-server.com:21
20local-dir:
これは確かに、倉庫全体ではなく、(私の場合では)` dist/`ディレクトリがアップロードされ、ビルドファイルが生きていることを確認します.ボーナス:明示的にアップロードされてからいくつかのファイルを除外する場合は、作成することができます
.git-ftp-ignore
あなたのリポジトリのルートファイルで、.gitignore
ファイル.追加情報
githubアクションのリポジトリはこちら
git-ftp
:サミーキルランド / FTP配備アクション
GithubプロジェクトをFTPサーバに配備する
Git FTP / Git FTP
Gitを使用してFTPサーバーにのみ変更されたファイルをアップロードします。
セキュリティヒント
FTP自体がファイルを暗号化して暗号化しません.したがって、それは非常に両方のサポートされているftps
git-ftp
. ありがとうこのトピックについての彼のコメントのために.
それを包む
したがって、GithubがFTPを介して自動的にファイルをビルドできるようにするのはかなり簡単です.つの設定ファイルを作成し、いくつかのリポジトリの秘密を設定する必要があります.
FTP経由で展開しても、これは自分のワークフローに便利です.
編集: 2020年9月4日(サーバURLの例とセキュリティヒントの追加)
発行日:2020年9月3日
titleイメージhttps://codepen.io/devmount/full/qBZPpEM
Reference
この問題について(良い展開を介して自動展開), 我々は、より多くの情報をここで見つけました https://dev.to/devmount/automatic-deployment-via-good-ol-ftp-3044テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol