Githubアクションでレンタルサーバーにデプロイさせる話.

2024年9月20日
文字数[1323文字] この記事は2分39秒で読めます.

おはようございます.将軍が米エミー賞を受賞しましたね、これを機会に自分はディズニープラスを契約してウォーキングのときに将軍をみています、これは田舎だから出来る特権かと思います💁.

さてGithubアクションでレンタルサーバーにデプロイ(アップロード)させる方法を書いていきます.まず前提条件としてIDとPASSでの認証ではなくて鍵での方法です.事前に公開鍵をレンタルサーバーに登録しとく必要があります.

では最初に対象となるリポジトリのセッティングから下記の順にクリックしてください.

次、アクションシークレットに必要な値を登録します(SSH_PRIVATE_KEYやSERVER_USERNAMEなどです)

最後にアクションの設定(yml)を行えば完了です.完了ですがレンタルサーバーによっては海外IPアドレスをブロックするように設定しているレンタルサーバーがあります.なので、海外IPを解除する必要があります.GithubのIPアドレスはこちらを参照して設定ください.
https://api.github.com/meta

※ルート直下をデプロイ対象すると.gitもアップロードされ大変危険ですので対策を取るか、直下をアップロードしないようにするか等が必要なります.

name: sakura

on:
  push:
    branches: [ "main" ]

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout Repository
        uses: actions/checkout@v4

      - name: Set up SSH key
        run: |
          mkdir -p ~/.ssh
          echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa_sakura
          chmod 600 ~/.ssh/id_rsa_sakura

      - name: Deploy Files via rsync
        run: |
          rsync -avz -e "ssh -i ~/.ssh/id_rsa_sakura -o StrictHostKeyChecking=no" ./path ${{ secrets.SERVER_USERNAME }}@${{ secrets.SERVER_HOST }}:${{ secrets.SERVER_DEPLOY_DIR }}

これでメインにプシュしたものはレンタルサーバーにアップロード(Deploy)されるようになります.

簡略化した説明なので分からない方もいると思います.そんな方は生成AIやググると何とかなるかと思いますので諦めずにトライしてみてください.

明日へ続く.