GitHub Actions でFTP自動デプロイ

急にロリポップでレンタルサーバーを借りてみた。
エコノミープランでもPHP使えるんだ。安いな!?とおもって。

さっそくいろいろ遊んでみることにした。
まずこのHugoブログをデプロイしたい。

  1. GitHubリポジトリのSettings > Actions secrets and variables に以下のSecretを登録

    • FTP_SERVER: ロリポップのアカウント情報から取得
    • FTP_USERNAME: ロリポップのアカウント情報から取得
    • FTP_PASSWORD: ロリポップのアカウント情報から取得
    • FTP_SERVER_DIR: blog/
  2. Actions を開き set up a workflow yourself をクリック

  3. main.yml を以下にする

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    
    name: blog
    
    on:
    push:
        branches: [master]
    workflow_dispatch:
    
    jobs:
    ftp-deploy:
        runs-on: ubuntu-latest
    
        steps:
        - uses: actions/checkout@v3
            with:
            submodules: "true" #これがないとthemeがcloneできない
    
        # Netlify用の設定を書き換え
        - name: Modify hugo.toml
            run: |
            sed -i "s|baseURL = 'https://tsumari.netlify.app/'|baseURL = 'https://tsumari.pupu.jp/blog/'|g; \
            s|# relativeURLS = true|relativeURLS = true|; \
            s|# canonifyurls = true|canonifyurls = true|" hugo.toml
            head -n 7 hugo.toml
    
        - name: Setup Hugo
            uses: peaceiris/actions-hugo@v2
            with:
            hugo-version: "0.125.7"
            extended: true
    
        - name: Build
            run: hugo --minify
    
        - name: Sync files
            uses: SamKirkland/FTP-Deploy-Action@4.3.0
            with:
            server: ${{ secrets.FTP_SERVER }}
            username: ${{ secrets.FTP_USERNAME }}
            password: ${{ secrets.FTP_PASSWORD }}
            server-dir: ${{ secrets.FTP_SERVER_DIR }}
            local-dir: ./public/
    
Hugo で構築されています。
テーマ StackJimmy によって設計されています。