1
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GitHub Actionで自動デプロイ

Posted at

#GitHub Actions とは
GitHub ActionsはCIツールで、GitHubで自動デプロイをすることができる。
CircleCIなどと同じようにGitリポジトリのアクションを起点に操作できる。
ほぼ無料で使用することが可能。

#設定に必要なもの
CI設定ファイルをGitリポジトリにコミットする。
.github/workflows/deploy-server.yml

#設定方法
今回の例では、ワードプレスのテーマファイルをGitで管理し、マスターブランチにコミット/マージされたタイミングでサーバー(Xserverを使用)へデプロイする。

##設定ファイルの作成
管理しているリポジトリに ディレクトリ.github/workflows/ を作成し、ymlファイルを作成する

name: deploy wordpress theme
  
on:
  push:
    branches:
      - master
  
jobs:
  deploy:
  
    runs-on: ubuntu-latest
  
    steps:
      - uses: actions/checkout@v1
 
      - name: ssh key generate
        run: echo "$SSH_PRIVATE_KEY" > key && chmod 600 key
        env:
          SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
 
      - name: rsync deploy
        run: rsync -auzrv --delete ./ $SSH_USER@$SSH_HOST:$DEPLOY_PATH --exclude ".git/" --exclude ".github/"  -e "ssh -i key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p ${SSH_PORT}"
        env:
          SSH_USER: ${{ secrets.SSH_USER }}
          SSH_HOST: ${{ secrets.SSH_HOST }}
          DEPLOY_PATH: ${{ secrets.DEPLOY_PATH }}
          SSH_PORT: ${{ secrets.SSH_PORT }}

name:
このスクリプトの説明

on:
** push:**
**  branches:**
**   - master**
何が起きた時にこのスクリプトを起動するか
この例では、マスターブランチにプッシュされた時に起動する

jobs:
実際に行う操作を記述する

${{ secrets.SSH_USER }}
${{ }}で囲まれた箇所はGithubで設定することで設定ファイルに記載せずに実行時にGithubから読み込まれる。

変数を定義する

Settings>Secretsで非公開にした変数を定義する
image.png

#実行結果の確認
Githubでコミットし、マスターブランチにPushする
image.png
Actionsタブで結果を確認し、緑のチェックが表示されていればデプロイ成功

1
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?