次の 2 つのワークフローがあります。
- テスト スイートを実行するためのワークフロー
- https://github.com/miloserdow/capistrano-deployを使用してコードをデプロイするワークフロー
コードをプッシュすると、両方のワークフローが開始されました。Test Suite が渡された場合にのみ、配置 Work を開始したい。
これどうやってするの?
テストを実行するワークフロー:
name: CI
on:
push:
branches: [setup_github]
jobs:
test:
runs-on: ubuntu-18.04
services:
postgres:
image: postgres:10
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.5.3
- uses: borales/actions-yarn@v2.0.2
with:
cmd: install
- name: Install Dependencies
run: |
sudo apt-get -yqq install libpq-dev
- name: Install Gems
run: |
gem install bundler
- name: prepare Database
- name: RSpec
run: |
bundle exec rspec specs
デプロイするワークフロー:
name: Deploy on server
on:
push:
branches:
- setup_github
jobs:
deploy:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v1
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.5.3
bundler-cache: true
- uses: miloserdow/capistrano-deploy@master
with:
target: staging
deploy_key: ${{ secrets.DEPLOY_ENC_KEY }}