AI開発アシスタント「Jules」を使い始めるにあたり、Initial Setupでいくつか試したことや気づいた点をメモとして残します。
Julesの実行環境
Julesのタスクは、Ubuntu Linuxをベースとした一時的な仮想マシン(VM)内で実行されます。セットアップスクリプトでlsb_release -aコマンドを実行し、Run to Validate機能でバージョンを確認したところ、Ubuntu 24.04.2 LTSでした。
> lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu 24.04.2 LTS
Release: 24.04
Codename: noble
このVMには、Node.js、Python、Go、Java、Rustといった主要な言語や、Docker、gitなどの開発ツールがプリインストールされています。詳細なバージョンは、ドキュメントや検証スクリプトで確認できます。
Initial Setup スクリプトの挙動
Initial Setupスクリプトは、プロジェクトの依存関係のインストールやテストの実行に必要なコマンドを定義するためのものです。
今回は、Goプロジェクトでgolangci-lintをインストールする、以下の様なスクリプトを設定してみました。
set -eux
cd /app
export PATH="$PATH:$(go env GOPATH)/bin"
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/HEAD/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.1.6
golangci-lint --version
Run to Validate機能では、このスクリプトが正常に実行され、golangci-lintがインストールされることを確認できました。しかし、実際にタスクを実行させてみると、PATHにGOPATH/binが含まれておらず、golangci-lintコマンドもインストールされていないことが分かりました。
所感
Initial Setupスクリプトがタスク実行時に実行されているのか、何かしら条件があるのか、使い方が違うのか、分かっていません。
また、タスクの実行中に大規模なフレームワークをインストールしようとすると、断られるケースがありました。
一方で、dotnetのようにプリインストールされていないツールでも、タスクの実行中にうまくインストールできれば、ビルドチェックなどを指示することは可能でした。
Julesを効果的に活用するには、Initial Setupをうまく活用できるようになりたいのですが、もう少し先になりそうです。