はじめに
これはさくらVPSのサーバーに自分のプロダクトを自動デプロイする手順の備忘録です。
手順
SSH鍵の生成
.ssh/
以下の適当なディレクトリに移動後、以下のコマンドを実行。
カレントディレクトリに作成されるため、必ずcdすること。
ssh-keygen -t rsa -b 4096 -f id_rsa -C [メールアドレス]
その後、/path/to/id_rsa.pubを.ssh/authorized_keysに追記。
Deploy keysへの登録
RSA公開鍵の登録。
さっき作ったid_rsa.pubとか。
GithubへのSecretの登録
Github ActionsからさくらVPSへのデプロイに必要な項目を登録する。
- SERVER_DEPLOY_DIR
ディレクトリへのパス。操作したいとこ - SERVER_HOST
VPSのホスト名 - SERVER_USERNAME
- SSH_PORT
基本的に22 - RSA秘密鍵
さっき作ったid_rsaとか。
workflowを書く
githubのactionsからymlの作成。適当な名前でヨシ。
中身は大体こんな感じ。
name: CI
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Deploy
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SERVER_HOST }}
username: ${{ secrets.SERVER_USERNAME }}
port: ${{ secrets.SSH_PORT }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
passphrase: ${{ secrets.SSH_PASS }}
script: |
cd ${{ secrets.SERVER_DEPLOY_DIR }}
git pull origin main
docker compose restart
おわりに
多分これでできるようになる。
自分用の備忘録なので適当ですがこんなところで。