Github Actionsで本番環境への自動反映を試した件
リポジトリに反映した時に、
自動で本番環境に対して、
コードを反映したいので、
その点を試した時のメモ。
リポジトリに設定ファイルを追加
リポジトリ内に GitHub Actionsのワークフロー(設定ファイル)を作成 する。
.github/workflows/deploy.yml を作成
フォルダ作成
mkdir -p .github/workflows
ファイル
.github/workflows/deploy.yml
作成用(Vim)
vim deploy.yml
ymlファイルのコード
name: Deploy to Production
on:
push:
branches:
- main # `main` に push されたら実行
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Sync files via rsync
uses: burnett01/rsync-deployments@4.1
with:
switches: -avz --delete
path: ./
remote_path: /var/www/html/your_project/ # 本番環境のディレクトリ
remote_host: ${{ secrets.SSH_HOST }}
remote_user: ${{ secrets.SSH_USER }}
remote_key: ${{ secrets.SSH_PRIVATE_KEY }}
Github上にsecrets設定情報を追加
リポジトリのymlファイルで使用する設定情報を、
Github上に設定を追加します。
1.GitHubのリポジトリを開く
2.「Settings」 → 「Secrets and variables」 → 「Actions」を選択
3.「New repository secret」をクリック
4.以下のように、1つずつ追加する
Secret Name: SSH_HOST
Secret Value: 123.456.78.90(←本番サーバーのIP)
「Add secret」をクリックして保存
上記のように設定を進めたら完了。
GitHub Actionsの挙動を確認
GitHubのリポジトリで、
「Actions」
を確認してみる。
確認すると、
Add GitHub Actions for auto-deployment
Deploy to Production #1: Commit xxxxxx pushed by xxxxxxx
これが、❌になっていた。
エラー
Enter passphrase for (stdin): ssh: connect to host *** port 22: Operation timed out
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.3]
が起きていた。
設定情報を再確認して、
更新してから、
再度、pushを試したらうまくいった。
こちらもおすすめ
初心者向けの色々な情報はあるけれど、
- 無料でお試しができるスクール
- ホームページなど簡単に作成できる
- 組織で使いたいサービス
について、
少しでも試して良いものがあると、
それを活用することで学習や業務などが効率化できるので、
おすすめのサイトなどをいくつか紹介しておきます
おすすめ書籍
コメント一覧
コメントはまだありません。
コメントを残す