Devbox
https://www.jetify.com/devbox
Docker等の仮想化技術を使用せずにローカル環境から分離された環境を構築できるツール
isolatedなdevelopment shellを立ち上げることができる
内部的にはNixを使っているが、Nixのインストールなどは不要
長所
プロジェクトごとにJSONファイルで必要なツールを定義することでportableになる
code:devbox.json
{
"packages": [
"python@3.10",
"poetry@latest"
],
"shell": {
"init_hook": [
"poetry install"
],
"scripts": {
"start": "poetry run python -m main.py",
"test": "poetry run pytest"
}
},
"include": [
"github:my-org/mongodb"
]
}
どこでも利用できるので、ローカルでもクラウドでも開発環境をつくれる
Jetify Devspaceというサービスを提供している
Development Containerも利用できる
GitHub ActionsのようなCI/CDでも利用できる
code:devbox-workflow.yml
name: Test with Devbox
on: push
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install devbox
uses: jetify-com/devbox-install-action@v0.9.0
with:
enable_cache: 'true'
- name: Run a Test Script
run: devbox run test
Docker Composeのように任意のサービスのオーケストレーションができる