このイメージは、従来の CircleCI Clojure イメージ circleci/clojure
の後継となるものです。
cimg/clojure
は、継続的インテグレーションでのビルドを想定して CircleCI が作成した Docker イメージです。 各タグには、特定のバージョンの Clojure と JVM、および CircleCI 環境でビルドを正常に完了させるために必要なバイナリとツールが含まれています。
このイメージは、CircleCI Docker
Executor と組み合わせて使用します。 例えば、下記のようになります。
1
2
3
4
5
6
7
jobs:
build:
docker:
- image: cimg/clojure:1.11.1
steps:
- checkout
- run: lein version
上記の例では、CircleCI Clojure Docker イメージがプライマリコンテナに使用されています。 具体的に言うと、1.11.1
というタグが使われていて、Clojure のバージョンは Clojure v1.11.1 になります。 こうすることで、このジョブのステップ内で Clojure を使用できます。
このイメージには、clj と Leiningen 経由で Clojure プログラミング言語がインストールされています。 これらの Clojure イメージには、v8、v11、v17 をサポートする OpenJDK が含まれています。
Babashka がプリインストールされています。 なお、Babashka は頻繁にリリースされるのに対し、CircleCI ではアップストリームプロジェクトのリリースに合わせて Clojure イメージをリリースするのみです。 プリインストールされている Babashka のバージョンが古い場合があります。
このイメージのタグ付けスキームは以下のとおりです。
標準的なタグ付けです。 このスキームでは、OpenJDK の指定されたデフォルトバージョンを参照します。現在は 17.0
です。
cimg/clojure:<clojure-version>[-variant]
特定の OpenJDK をサポート
cimg/clojure:<clojure-version>-<openjdk-version>[-variant]
<clojure-version>
- 使用する Clojure のバージョンを指定します。 完全なセマンティックバージョニング形式でのポイントリリース (1.10.1
など)、またはマイナーリリース (1.10
など) を指定できます。 マイナーリリースタグを使用する場合は、Clojure チームからパッチアップデートがリリースされると、自動的にその時点のパッチアップデートを参照します。 たとえば、タグ 1.10
は、現時点では Clojure v1.10.1 を参照しますが、次のリリース後は Clojure v1.10.2 を参照します。
<openjdk-version>
- 使用する OpenJDK のバージョンを指定します。 このタグのこの部分では major.minor 構文のみを使用しますが、 こちらに記載されている対応する openjdk イメージからビルドされます (17.0
と同様) 。
[-variant]
- オプションでバリアントタグを使用することも可能です。 例えば node
バリアントの場合、cimg/clojure:1.10-node
または cimg/clojure:1.10-openjdk-17-node
のように使用できます。
Variant images typically contain the same base software, but with a few additional modifications.
The Node.js variant is the same Clojure image but with Node.js also installed.
The Node.js variant can be used by appending -node
to the end of an existing cimg/clojure
tag.
1
2
3
4
5
6
7
jobs:
build:
docker:
- image: cimg/clojure:1.10.3-node
steps:
- checkout
- run: node --version
The browsers variant is the same Clojure image but with Node.js, Selenium, and browser dependencies pre-installed via apt.
The browsers variant can be used by appending -browser
to the end of an existing cimg/clojure
tag.
The browsers variant is designed to work in conjunction with the CircleCI Browser Tools orb.
You can use the orb to install a version of Google Chrome and/or Firefox into your build. The image contains all of the supporting tools needed to use both the browser and its driver.
1
2
3
4
5
6
7
8
9
10
11
12
orbs:
browser-tools: circleci/browser-tools@1.1
jobs:
build:
docker:
- image: cimg/clojure:1.10.3-browsers
steps:
- browser-tools/install-browser-tools
- checkout
- run: |
node --version
google-chrome --version