OpenCodeでGitHub Actions CI/CDを構築するチュートリアル
OpenCodeとGitHub Actionsを組み合わせたCI/CDパイプラインの構築方法を解説。自動デプロイやDevOpsの実践的な手順を紹介。
はじめに
OpenCodeは、オープンソースのコード管理・実行プラットフォームです。このチュートリアルでは、GitHub Actionsを使ってOpenCodeプロジェクトのCI/CDパイプラインを構築する方法をステップバイステップで解説します。自動テスト、ビルド、デプロイを自動化し、開発効率を向上させましょう。
前提条件
ステップ1: GitHub Actionsのワークフローファイルを作成する
リポジトリのルートに.github/workflowsディレクトリを作成し、その中にYAMLファイル(例:ci-cd.yml)を配置します。
name: CI/CD Pipeline
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup OpenCode
run: |
curl -fsSL https://opencode.sh/install.sh | bash
opencode --version
- name: Run tests
run: opencode test
deploy:
needs: test
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
steps:
- uses: actions/checkout@v3
- name: Deploy to production
run: opencode deploy --env production
ステップ2: ワークフローのトリガーを理解する
on.push:mainブランチへのプッシュ時にパイプラインを起動on.pull_request:mainブランチへのPR作成時にもテストを実行jobs:並列または直列で実行するジョブを定義ステップ3: テストジョブの設定
テストジョブでは、OpenCodeをインストールし、プロジェクトのテストを実行します。opencode testコマンドがテストスイートを実行することを前提としています。必要に応じて、テストフレームワーク(Jest、Mochaなど)の設定を別途行ってください。
ステップ4: デプロイジョブの設定
デプロイジョブはテストジョブの成功後に実行され、opencode deployコマンドで本番環境にデプロイします。環境変数やシークレットはGitHub Secretsに保存し、ワークフロー内で安全に参照します。
<li>name: Deploy</li>
env:
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
run: opencode deploy --env production
ステップ5: シークレットの設定
GitHubリポジトリの「Settings」→「Secrets and variables」→「Actions」で、以下のシークレットを追加します。
OPENCODE_API_KEY:OpenCodeのAPIキーステップ6: ワークフローのテスト
ワークフローファイルをコミットしてプッシュすると、自動的にパイプラインが実行されます。GitHubの「Actions」タブで実行状況を確認できます。
高度な設定
マルチブランチ対応
複数のブランチで異なるデプロイ先を設定する場合:
<li>name: Deploy</li>
run: |
if [ "${{ github.ref }}" == "refs/heads/main" ]; then
opencode deploy --env production
elif [ "${{ github.ref }}" == "refs/heads/staging" ]; then
opencode deploy --env staging
fi
キャッシュの利用
依存関係のインストールを高速化するためにキャッシュを追加:
<li>name: Cache OpenCode dependencies</li>
uses: actions/cache@v3
with:
path: ~/.opencode
key: ${{ runner.os }}-opencode-${{ hashFiles('**/opencode.lock') }}
トラブルシューティング
onの指定が正しいか確認。opencode testが通るか確認。環境変数の不足がないか確認。まとめ
このチュートリアルでは、OpenCodeとGitHub Actionsを連携させたCI/CDパイプラインの構築方法を紹介しました。自動テストと自動デプロイにより、開発サイクルを高速化し、ヒューマンエラーを減らすことができます。さらに高度な設定については、OpenCodeの公式ドキュメントを参照してください。