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を試したらうまくいった。

ピックアップ

こちらもおすすめ

初心者向けの色々な情報はあるけれど、

  • 無料でお試しができるスクール
  • ホームページなど簡単に作成できる
  • 組織で使いたいサービス

について、

少しでも試して良いものがあると、

それを活用することで学習や業務などが効率化できるので、

おすすめのサイトなどをいくつか紹介しておきます

おすすめ書籍

コメント一覧

コメントはまだありません。

コメント送信

コメントを残す

広告

おすすめ記事