pushしたら自動で反映されるGithubActionsが簡単ですごい!

神機能でした。、 

pushしたら自動でサーバー側でpullする

file

masterにpushされたときに
サーバー側でpullを行ってapachを再起動するようにしてます

name: Django CI

on:
  push:
    branches: ["master"]
  pull_request:
    branches: ["master"]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - name: Deploy-web
      uses: appleboy/ssh-action@v0.1.7
      with:
        host: ${{ secrets.HOST }}
        username: ${{ secrets.USERNAME }}
        key: ${{ secrets.KEY }}
        script: |
          cd ${{ vars.ROOT_DIR }}
          git pull origin master
          sudo service apache2 restart

pushしたらActionsの実行結果を確認できる!

file

${{ secrets.HOST }}とかの説明

${{ secrets.HOST }}こんなフォーマット形式があるが、
GitのSettingsからsecretsvariablesを保存して、読み出すことができる。
file
Secretsの方は一度登録すると見れない仕様で、variablesの方は後から確認できます。
それぞれsecrets.name,vars.nameのような感じでアクセスできます。

HostはサーバーのSSH接続するときとかのIPアドレス
USERNAMEはrootとかのログインユーザー名で
KEYは、秘密鍵を登録します。
公開鍵じゃないの?って思ったんですが、秘密鍵でした。
秘密鍵は、どこかで適当に作成して、
名前をgithub_actionsとかにしとくわかりやすいかなと思います。

鍵系は、
サーバー側にauthorized_keysを保存して
Github側に、秘密鍵を登録する感じになります。

authorized_keysファイルを作る authorized_keysファイルを作る

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です