Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8691

CircleCI 2.1 設定サンプル(Node + MySQL)

$
0
0

環境

  • Circle CI 2.1
  • Node + MySQL(ですが、主にCircle CIの設定のため、←の環境には大きく依存していません)

設定例

version:2.1executors:default:docker:-image:circleci/node:10.18.0-busterextended:docker:-image:circleci/node:10.18.0-buster-image:circleci/mysql:5.7environment:MYSQL_ALLOW_EMPTY_PASSWORD:'yes'MYSQL_DATABASE:your_database_name_comes_herecommands:restore_node_dependencies:steps:-restore_cache:name:Restore node dependencies cachekeys:-v1-node-dependencies-{{ checksum "yarn.lock" }}-v1-node-dependenciesinstall_node_dependencies:steps:-run:name:Install node dependenciescommand:yarn install --frozen-lockfilesave_node_dependencies:steps:-save_cache:name:Save node dependencies cachekey:v1-node-dependencies-{{ checksum "yarn.lock" }}paths:-node_moduleswait_for_db_start_up:steps:-run:name:Wait for db start upcommand:dockerize -wait tcp://127.0.0.1:3306 -timeout 1mrun_test:steps:-run:name:Run testcommand:yarn run testjobs:build:executor:defaultsteps:-checkout-restore_node_dependencies-install_node_dependencies-save_node_dependenciestest:executor:extendedsteps:-checkout-restore_node_dependencies-wait_for_db_start_up-run_testworkflows:build_and_test:jobs:-build-test:requires:-build

ポイント

  • 2.1の機能(executorscommands)を使って、設定をわかりやすくする。
  • executorを最適化する。
    • 例えば、DBのセットアップは数十秒かかるので(※実測で20秒程)、不要なところでは行わない。
    • 上記の例では、buildyarn install)にDBは不要なので、DBが無いexecutor(= default)を使っています。
    • executorの名前(defaultやextended)は任意です。
  • テスト実行前に、DBの起動待ちをする(dockerize -wait)。
  • step内でnameを付ける。
    • 無くてもいいですが、その場合はCircleCIのデフォルトが使われます。restore_cacheなどは全てRestoring Cacheとなり、中を見ないとどのステップか分からなくなるので、付けています。

参照先

yarn install--frozen-lockfileオプションを付ける

version: 2.1では workflowsの version 指定は不要。

その他


Viewing all articles
Browse latest Browse all 8691

Trending Articles