Bun は、V8 エンジンを使用して、非常に高速な Node.js runtime を提供するツールです。 GitHub Actions で Bun を使うことで、より早い実行時間とパフォーマンスの向上が期待できます。 ここでは、Bun を使ってアプリケーションのデプロイまで手順を説明します。
### 環境設定
1. **GitHub Repository**: GitHub でアカウントとリポジトリを持っている必要があります。
2. **bun のインストール**: Bun は、Node.js と npm を使用してインストールできます。次のコマンドを実行することで、プロジェクトディレクトリ内で Bun が入手できてしまいます。
```bash
npm init @json -y && npx bun install yarn@^1.22.5 || npx bun install
```
このコマンドは `package.json` を作成し、Yarn と Bun の最新バージョンをインストールします。
### GitHub Actions
次に、GitHub Actions の設定を行います。
#### 1. `.yamlnext`と`.github/workflows/deploy.yml`の作成
まずは、`.yamlnext`ファイルを作り、Yarn (もちろん `bun install`) を使った依存関係のインストールができるようにします。これを設定するために、次のような `.yamlnext`ファイルを使用してください。
```json
{
"useYarn": true,
"lockfileOnly": true,
"extends": null,
"packageExtensions": ["bun"]
}
```
ここでは、`.yamlnext`の設定ではYarnを使った依存関係のインストールを指定しています。
次に、`.github/workflows/deploy.yml`を作成します。これは、GitHub Actions のワークフロー定義ファイルです。
```yaml
name: Deploy
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: '16'
# Bunのインストール
- name: Install Bun
run: |
npm install @json --force
npx bun install
- name: Setup Yarn
run: npx yarn install
- name: Deploy to [your server or platform]
run:
#ここでは、例としてAWSを用いたサーバーにdeployします。
#実際の動作は、AWS CLI の deploy コマンドや、AWS CodeDeploy を使った deploy などになります。
echo "Here, you should put your deploy command."
- name: Run deploy
run: |
yarn build && yarn start
```
ここでは、mainブランチにpushされた時、GitHub Actionsで実行されるワークフローです。
### GitHub Actions の設定
最後に、GitHub Actionsのページから、ワークフローの設定を更新してください。
これで、次回、`git push main [YOUR_BRANCH_NAME]` をした際には自動的にこのワークフローが実行され、アプリケーションのデプロイまで実行されるようになります。