CircleCI で cimg/ruby:3.* のイメージには php も python も webrick も node も入っていない

結論

公式ドキュメントは以下。

circleci.com

gyazo.com

なぜこれを気にしたのか

monorepo っぽい構成になっているプロダクトにおいて、静的な Webページ のテストを走らせるためにワンライナーの Webサーバ を立ち上げようとしたから。

$ php -S$ python -m http.server が立ち上がらないのはもちろん、$ ruby -run -e httpd もダメだったので驚いた(cimg/ruby:3.* のイメージには webrick が入っていないから)。

PHP や Python を入れていると CI に時間がかかりすぎるので、素直に $ gem install webrick してから Ruby で Webサーバ を起ち上げることで解決…しなかった。

対話シェルでは問題ないが、RSpec 内でシェルコマンドを実行すると立ち上がらないようだ。かなり特殊な状況であることは認識しており、時間も無く、「Ruby で」Webサーバを起ち上げることが目的ではないため詳細は調べていない。

軽量で定番の http-server (npm) を用いることでで解決した*1

*1:cimg/ruby のイメージとして "-node" のイメージを用いた上で $ npx http-server で行けるのでまあまあ軽量

Powered by はてなブログ