# GitHub における CI/CD の有効化
デプロイメントの安定性を高めるために、CI/CD ツールをコネクター開発のワークフローに組み入れることをお勧めします。このガイドでは、GitHub や GitHub Actions を使用している場合のプロセスについて説明します。これと同じ手法を、他の Git ツールや CI/CD ツールに移植することもできます。
# 前提条件
- GitHub リポジトリを所有していること
- GitHub リポジトリで Actions を管理できる権限があること
- GitHub リポジトリでリポジトリシークレットを設定する権限があること
# GitHub Actions の設定
次に、GitHub Actions (opens new window) ファイルを作成します。このファイルは、アクションが実行するステップを定義するために使用されます。
リポジトリの .github/workflows
フォルダに、新しい ruby.yml
ファイルを作成します。以下に例を示します。
name: Connector Unit Test
on:
pull_request:
branches: [ main ]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
ruby-version: ['2.4.10', '2.5', '2.7']
steps:
- uses: actions/checkout@v2
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby-version }}
bundler-cache: true
- name: Run tests
env: # Only needed if using encrypted files.
WORKATO_CONNECTOR_MASTER_KEY: ${{ secrets.WORKATO_CONNECTOR_MASTER_KEY }}
run: bundle exec rspec
この例では、プロジェクトは暗号化された設定 (settings.yaml.enc
) を使用しています。暗号化を使用する際は、以下のことを確認してください。
- プロジェクトの
master.key
ファイルを.gitignore
に追加する。 - 暗号化されたシークレット (opens new window) を使用してリポジトリに環境変数を設定する。この例では、環境変数は
WORKATO_CONNECTOR_MASTER_KEY
という名前です。
# その他の自動検査の追加
コーディングスタイルの維持を容易にする Rubocop (opens new window) など、他の検査を追加することができます。
# Workato へのデプロイメントの自動化
ここで、PR がマージされるたびにワークスペースへ自動的にデプロイメントされるなど、コネクターを開発環境へ自動的にデプロイできます。
リポジトリの .github/workflows
フォルダに、新しい ruby.yml
ファイルを作成します。以下に例を示します。
name: Connector Unit Test & Deployment
on:
push:
branches: [ main ]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
ruby-version: ['2.4.10', '2.5', '2.7']
steps:
- uses: actions/checkout@v2
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby-version }}
bundler-cache: true
- name: Run tests
env: # Only needed if using encrypted files.
WORKATO_CONNECTOR_MASTER_KEY: ${{ secrets.WORKATO_CONNECTOR_MASTER_KEY }}
run: bundle exec rspec
- name: Push to DEV workspace Use this to push to DEV. This can be enabled when a PR is merged.
env: # Only needed if using encrypted files.
WORKATO_API_EMAIL: ${{ secrets.WORKATO_DEV_ENVIRONMENT_API_EMAIL}}
WORKATO_API_TOKEN: ${{ secrets.WORKATO_DEV_ENVIRONMENT_API_TOKEN}}
run: workato push
# 次のステップ
- コネクタープロジェクトのファイルの詳細については、こちら を参照してください。
Last updated: 2023/8/31 1:07:14