このイメージは、従来の 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.12.0-openjdk-8.0-node
    steps:
      - checkout
      - run: lein version上記の例では、CircleCI Clojure Docker イメージがプライマリコンテナに使用されています。 具体的に言うと、1.12.0-openjdk-8.0-node というタグが使われていて、Clojure のバージョンは Clojure v1.12.0-openjdk-8.0-node になります。 こうすることで、このジョブのステップ内で 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 --versionThe 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