言語ガイド: Crystal
チュートリアル & 2.0 サンプル アプリケーション > 言語ガイド: Crystal
このガイドでは、CircleCI で最小限の Crystal アプリケーションをビルドする方法について説明します。
概要
お急ぎの場合は、後述の設定ファイルの例をプロジェクトのルート ディレクトリにある .circleci/config.yml
に貼り付け、ビルドを開始してください。
Crystal プロジェクトのサンプルは以下のリンクで確認できます。
このプロジェクトには、コメント付きの CircleCI 設定ファイル .circleci/config.yml
が含まれます。
このアプリケーションでは Crystal 0.27 と Kemal 0.25 を使用しています。 Crystal と Kemal は速いペースで開発が進められています。 Docker イメージを :latest
バージョンに変更すると、互換性を損なう変更が発生する可能性があります。
設定ファイルの例
version: 2
jobs: # a collection of jobs
build:
working_directory: ~/demo_app
docker: # run build steps with docker
- image: crystallang/crystal:0.27.0 # primary docker container; all `steps` will run here.
auth:
username: mydockerhub-user
password: $DOCKERHUB_PASSWORD # context / project UI env-var reference
steps: # a collection of executable steps
- checkout # checks out source code to working directory
- restore_cache: # Restore dependency cache
# Read about caching dependencies: https://circleci.com/docs/2.0/caching/
key: dependency-cache-{{ checksum "shard.lock" }}
- run:
name: Install dependencies.
command: shards install
- save_cache: # Step to save dependency cache
key: dependency-cache-{{ checksum "shard.lock" }}
paths:
- ./lib
- run:
name: test
command: crystal spec
# See https://circleci.com/docs/2.0/deployment-integrations/ for deploy examples
設定ファイルの詳細
config.yml
は必ず version
キーから始めます。 このキーは、互換性を損なう変更に関する警告を表示するために使用します。
version: 2
実行処理は 1 つ以上のジョブで構成されます。 この実行では ワークフローを使用していないため、build
ジョブを持つ必要があります。
working_directory
キーを使用して、ジョブの steps
を実行する場所を指定します。 working_directory
のデフォルトの値は ~/project
です (project
は文字列リテラル)。
ジョブの各ステップは [Executor](/docs/ja/2.0/executor-types/) という名前の仮想環境で実行されます。 この例では、公式 Crystal Docker イメージがプライマリ コンテナとして使用されています。 ジョブのすべてのコマンドがこのコンテナで実行されます。
jobs:
build:
working_directory: ~/demo_app
docker:
- image: crystallang/crystal:0.27.0
ジョブのコンテナを選択したら、いくつかのコマンドを実行する steps
を作成します。
checkout
ステップを使用して、ソース コードをチェックアウトします。 デフォルトでは、working_directory
で指定されたパスにソース コードがチェックアウトされます。
実行の間隔を短縮するには、依存関係またはソース コードのキャッシュを検討してください。
save_cache
ステップを使用して、いくつかのファイルまたはディレクトリをキャッシュします。 この例では、インストールされたパッケージ (“Shards”) がキャッシュされます。
restore_cache
ステップを使用して、キャッシュされたファイルまたはディレクトリを復元します。 この例では、shard.lock
ファイルのチェックサムを使用して、依存関係キャッシュが変更されているかどうかを判断します。
steps: #
- checkout
- restore_cache:
key: dependency-cache-{{ checksum "shard.lock" }}
- run:
name: Install dependencies.
command: shards install
- save_cache:
key: dependency-cache-{{ checksum "shard.lock" }}
paths:
- ./lib
最後に crystal spec
を実行して、プロジェクトのテスト スイートを実行します。
- run:
name: テスト
command: crystal spec
完了です。 You’ve set up CircleCI for a basic Crystal application.
デプロイ
デプロイ ターゲットの構成例については、「デプロイの構成」を参照してください。
ドキュメントの改善にご協力ください
このガイドは、CircleCI の他のドキュメントと同様にオープンソースであり、GitHub でご利用いただけます。 ご協力いただき、ありがとうございます。
- このページの編集をご提案ください (最初に「コントリビューションガイド」をご覧ください)。
- ドキュメントの問題点を報告する、またはフィードバックやコメントを送信するには、GitHub で issue を作成してください。
- CircleCI は、ユーザーの皆様の弊社プラットフォームにおけるエクスペリエンスを向上させる方法を常に模索しています。 フィードバックをお寄せいただける場合は、リサーチコミュニティにご参加ください。
サポートが必要ですか?
CircleCI のサポートエンジニアによる、サービスに関する問題、請求およびアカウントについての質問への対応、設定の構築に関する問題解決のサポートを行っています。 サポートチケットを送信して、CircleCI のサポートエンジニアにお問い合わせください。日本語でお問い合わせいただけます。
または、サポートサイトから、サポート記事やコミュニティフォーラム、トレーニングリソースをご覧いただけます。

CircleCI Documentation by CircleCI is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.