Site cover image

Site icon image astro-notion-blog

Description is here. The icon, the title, the description can be modified in Notion.

astro-notion-blogでgithubとxserver

前提

前回からの続きとなります。

Notion API

notionAPIこれは前回で取り出したものなので、まだの方は試してください。

  • DATABASE_ID
  • NOTION_API_SECRET

XServerから必要な情報を取り出す

Image in a image block

デプロイしたいサーバーパネルのFTPアカウント設定を開きます。
FTPアカウントを追加をクリックすると、入力項目が出てきます。
FTPユーザーIDとパスワードを好きなものに入力し、追加するをクリックしてください。

下の方にいくと、追加したFTPアカウントのリストに出てきます。
以下の情報が必要なので、メモしておきましょう

  • FTPサーバー名(ホスト名)
  • FTPユーザー名
  • FTPパスワード

FTPサーバー名(ホスト名)はFTPソフト設定に記載されています。

Image in a image block

GithubでRepository secretsに追加する

Image in a image block

適用したいリポジトリのSettingsをクリックし、左側にSecrets and variablesがあり、開いた先にあるActionsをクリックします。

New repository secretをクリックし、今まで取得したものを追加していきます。

GithubでRepository secretsに追加する

.github/workflows/deploy.ymlを作成し、内容を以下にする

name: Deploy to Server

on:
  push:
    branches:
      - main  # mainブランチにpushされたときに実行

jobs:
  deploy-to-xserver:
    runs-on: ubuntu-22.04
    env:
      NOTION_API_SECRET: ${{ secrets.NOTION_API_SECRET }}
      DATABASE_ID: ${{ secrets.DATABASE_ID }}
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - name: volta-cli/action
        uses: actions/setup-node@v4
      - name: Install dependencies
        run: npm ci
      - name: Build project
        run: npm run build
      ## FTP deployを使用したFTPアップロードの記述
      - name: Upload files on Xserver
        uses: SamKirkland/FTP-Deploy-Action@v4.3.5
        with:
          server: ${{ secrets.FTP_SERVER }}
          username: ${{ secrets.FTP_USERNAME }}
          password: ${{ secrets.FTP_PASSWORD }}
          local-dir: ./dist/
          server-dir: /${{ secrets.FTP_SERVER }}/public_html/

あとはmainブランチへプッシュしたらActionsが自動で動き、デプロイされます。

もしうまくいかない場合は、Repository secretsの設定が間違っているか、server-dirが違う可能性があるので、適宜調整してみてください。

まとめ