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

神機能でした。、 

GithubActionsをとりあえずみてみる

file

GithubでActionsから、適したの選択したら、テンプレート的なのが出てきた。

# このアクションファイルの識別用タイトル
name: Django CI

# いつ実行するか
on:
  push:
    branches: [ "master" ]
  pull_request:
    branches: [ "master" ]

jobs:
  build:

    # 設定関連
    runs-on: ubuntu-latest
    strategy:
      max-parallel: 4
      matrix:
        python-version: [3.7, 3.8, 3.9]

  # 実行するよ↓
    steps:

    # JOB1よくわからん。いい感じにしてくれそう
    - uses: actions/checkout@v3

    # JOB2よくわからん。いい感じにしてくれそう
    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v3
      with:
        python-version: ${{ matrix.python-version }}

    # JOB3 パッケージインストールはこんな感じ
    - name: Install Dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -r requirements.txt

    # JOB4 何かしら実行しちゃうぞ
    - name: Run Tests
      run: |
        python manage.py test

最初に作られたのがこんな感じでした、
Githubのサーバー内で動くだけだよな??よくわかっていないが、とりあえず
自動でpullしたい、、、

https://docs.github.com/ja/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_iduses

https://docs.github.com/ja/actions/learn-github-actions/understanding-github-actions

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

file

pushしたら自動でpullされてサーバーを再起動するようにしてみる

https://github.com/appleboy/ssh-action
appleboy/ssh-action@v0.1.7を使うと、ssh接続できてコマンドも使えるみたいなのでやってみた!

name: Django CI

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

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - name: Deploy
      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

${{ secrets.HOST }}こんなフォーマット形式があるが、
GitのSettingsからsecretsvariablesを保存して、読み出すことができる。
file

コメントを残す

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