🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
FTP

FTP(File Transfer Protocol)は、ネットワークでのファイル転送を行うための通信プロトコルの1つである。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

バージョン管理

バージョン管理はコンピューター上にファイルとして格納されているドキュメント・プログラム・その他の情報の変更履歴等を管理するものです

CI(継続的インテグレーション)

CI(継続的インテグレーション)は、アプリ開発においてビルドとテストを繰り返すことで品質改善と納期短縮を図る手法です。JenkinsやTravis CIなどの専用ツールを利用してプロセスを自動化・半自動化して効率的に実施します。

Q&A

解決済

1回答

907閲覧

GithubActionsを用いたFTP自動デプロイについて

Jake5

総合スコア32

FTP

FTP(File Transfer Protocol)は、ネットワークでのファイル転送を行うための通信プロトコルの1つである。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

バージョン管理

バージョン管理はコンピューター上にファイルとして格納されているドキュメント・プログラム・その他の情報の変更履歴等を管理するものです

CI(継続的インテグレーション)

CI(継続的インテグレーション)は、アプリ開発においてビルドとテストを繰り返すことで品質改善と納期短縮を図る手法です。JenkinsやTravis CIなどの専用ツールを利用してプロセスを自動化・半自動化して効率的に実施します。

0グッド

0クリップ

投稿2020/12/28 09:23

今までFTPを用いて手動でファイルアップロードを行っていたのですがバージョン管理が煩雑になったため、Github及びGit Actionsを用いた自動デプロイを考えております。

以下のような手順での自動デプロイを考えています。


  1. Github上に作成したリポジトリのdevelopブランチにソースコードを反映
  2. 1.をトリガーにGithub Actionsでテストサーバーに自動デプロイ
  3. テストサーバーで動作確認(基本的にソースコードのレビューは1人で行う)
  4. 動作に問題なければGithub上でmasterブランチにマージ
  5. 4.をトリガーにGithub Actionsで本番サーバーに自動デプロイ

上記手順での自動デプロイは標準的なやり方でしょうか。見当違いでしたらすみません。
使用する開発メンバーは最大で5名ほどで、gitに関する知見がほぼないメンバーで構成されております。
以下のような条件を可能な限り満たせる、FTP自動デプロイのベストプラクティスがございましたらご教示いただけますと幸いです。

  • 簡単に使える
  • 安全に使える
  • 無料で使える(なるべく)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

FTPじゃなくてssh+rsyncを使うほうがより一般的だと思います。もちろんGithub Actionsのために新規に鍵を生成して秘密鍵をGithubのsecretに登録します

yml

1 - name: ssh key generate 2 run: echo ”$SSH_PRIVATE_KEY” > key && chmod 600 key 3 env: 4 SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}

https://www.agent-grow.com/self20percent/2019/09/24/github-actions-rsync/

deploy先の切り替えはgithub.refという変数を見てあげればできると思います。ただ、master以外のbranchが複数同時並行あったときにどうするのか、明確にしたほうがいいでしょう。deploy先のdirectoryを分けるとか、PRをトリガーにすることにしてPR番号でdirectory分けるとか・・・

投稿2020/12/28 13:52

yumetodo

総合スコア5852

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問