2021年9月29日
slug
2021-09-29
date
Sep 29, 2021
summary
CloudBuild、感謝、カセットプレイヤー
status
Published
tags
テック
音楽
type
Post
Property
Cloud Buildの素振り
サンプルコードを実行してみた。
がプロジェクトが選択されてないというエラーがでた。
GCP 何もわからないマンなので、仕組みがよくわかっていない。
gcloud をアップデートした。
$ ./google-cloud-sdk/install.sh
$ ./google-cloud-sdk/bin/gcloud init
$ git clone https://github.com/GoogleCloudBuild/cloud-console-sample-build && \
cd cloud-console-sample-build && \
gcloud builds submit --config cloudbuild.yaml
$ gcloud auth list
$ gcloud config set project プロジェクト名(aliasではない)
$ gcloud config configurations list
プロジェクトを GCP の画面から作って、その名前を指定して、
$ gcloud builds submit --config cloudbuild.yaml
をしたらうまくいった。
調子に乗って、 hisasann/nuxt-lint-ts-msw で実行してみたら
$ gcloud builds submit --config ./cloudbuild/lint_and_test.yaml
こんなエラーが出た。
Step #1: Oops! Something went wrong! :(
Step #1:
Step #1: ESLint: 7.32.0
Step #1:
Step #1: Error: Cannot read .eslintignore file: /workspace/.gitignore
Step #1: Error: ENOENT: no such file or directory, open '/workspace/.gitignore'
Step #1: at Object.openSync (fs.js:497:3)
Step #1: at Object.readFileSync (fs.js:393:35)
Step #1: at readFile (/workspace/node_modules/@eslint/eslintrc/lib/config-array-factory.js:142:15)
Step #1: at loadESLintIgnoreFile (/workspace/node_modules/@eslint/eslintrc/lib/config-array-factory.js:270:16)
Step #1: at ConfigArrayFactory.loadESLintIgnore (/workspace/node_modules/@eslint/eslintrc/lib/config-array-factory.js:559:32)
Step #1: at createCLIConfigArray (/workspace/node_modules/@eslint/eslintrc/lib/cascading-config-array-factory.js:165:34)
Step #1: at new CascadingConfigArrayFactory (/workspace/node_modules/@eslint/eslintrc/lib/cascading-config-array-factory.js:243:29)
Step #1: at new CLIEngine (/workspace/node_modules/eslint/lib/cli-engine/cli-engine.js:569:36)
Step #1: at new ESLint (/workspace/node_modules/eslint/lib/eslint/eslint.js:432:27)
Step #1: at Object.execute (/workspace/node_modules/eslint/lib/cli.js:292:24)
Step #1: npm ERR! code ELIFECYCLE
Step #1: npm ERR! errno 2
Step #1: npm ERR! nuxt-lint-ts-msw@1.0.0 lint:js: `eslint --ext .js,.ts,.vue --ignore-path .gitignore .`
Step #1: npm ERR! Exit status 2
S
このあたりを読んでいたが、
--ignore-path .gitignore
するのやめて .eslintignore を配置してみよう。$ gcloud builds submit --config ./cloudbuild/lint_and_test.yaml
エラーが解消されたぞ!
Cloud Build 上で yaml ファイルを
自動検出
ではなく指定で /cloudbuild
としていたらどうやらパス指定は Invalid Argument のようだ。なので
cloudbuild.yaml
にリネームした。こうしたらビルドが走るようになった。
server起動しつつe2eの実行をコマンド一発でやる
これだった。
cypress:run でコケた
> nuxt-lint-ts-msw@1.0.0 cypress:run /workspace
> cypress run
It looks like this is your first time using Cypress: 8.4.1
[STARTED] Task without title.
[FAILED] Your system is missing the dependency: Xvfb
[FAILED]
[FAILED] Install Xvfb and run Cypress again.
[FAILED]
[FAILED] Read our documentation on dependencies for more information:
[FAILED]
[FAILED] https://on.cypress.io/required-dependencies
[FAILED]
[FAILED] If you are using Docker, we provide containers with all required dependencies installed.
[FAILED]
[FAILED] ----------
[FAILED]
[FAILED] Error: spawn Xvfb ENOENT
[FAILED]
[FAILED] ----------
[FAILED]
[FAILED] Platform: linux (Debian - 9.13)
[FAILED] Cypress Version: 8.4.1
Your system is missing the dependency: Xvfb
Install Xvfb and run Cypress again.
Read our documentation on dependencies for more information:
https://on.cypress.io/required-dependencies
If you are using Docker, we provide containers with all required dependencies installed.
どうやら結構依存してるモジュールがあるようだ。
$ docker pull cypress/included:8.5.0
便利だ。
今日はここまで。
node:14 のイメージだと Cypress が依存しているモジュールが入っていないので動かないので、何かしら別のイメージ、または docker images を自作するのか cloudbuild.yaml が動くようにしたい。
ググってもあまり情報はなさそうなので zenn に書くか。