質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

GitLab

GitLabは Gitoliteをブラウザから管理できるようにする Rubyアプリケーションで、 GitHubのようなサービスをクローズドな環境に独自で構築できるように 公開されたものです。

CI(継続的インテグレーション)

CI(継続的インテグレーション)は、アプリ開発においてビルドとテストを繰り返すことで品質改善と納期短縮を図る手法です。JenkinsやTravis CIなどの専用ツールを利用してプロセスを自動化・半自動化して効率的に実施します。

Q&A

解決済

1回答

805閲覧

gitlab CIでNuxtアプリのビルドと起動をテストしたい

kkmts

総合スコア7

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

GitLab

GitLabは Gitoliteをブラウザから管理できるようにする Rubyアプリケーションで、 GitHubのようなサービスをクローズドな環境に独自で構築できるように 公開されたものです。

CI(継続的インテグレーション)

CI(継続的インテグレーション)は、アプリ開発においてビルドとテストを繰り返すことで品質改善と納期短縮を図る手法です。JenkinsやTravis CIなどの専用ツールを利用してプロセスを自動化・半自動化して効率的に実施します。

0グッド

0クリップ

投稿2020/04/28 08:13

編集2020/06/23 10:03

実現したいこと

GitlabCIを初めて使っていて、コミットするごとにNuxtで作ったアプリケーションがビルドされて立ち上がるかのテストを行いたいと思っています。

調べながら .gitlab-ci.yml を次のように記述しました。

yml

1image: node:12.16.1-alpine 2 3stages: 4 - build 5 6build: 7 stage: build 8 before_script: 9 - npm install 10 script: 11 - npm run build 12 - npm run start

自分の想定としては、 npm run start アプリケーションの起動を確認したらスクリプトを成功として終了してくれると思っていたのですが、ずっと待受状態に入ってスクリプトが停止してくれません。

お聞きしたいこと

npm run start が通ったのを確認してスクリプトを終了するにはどのように書けばよいのでしょうか??

試したこと

調べていたら pm2 というキーワードを得たので、
https://github.com/nuxt/nuxt.js/issues/67を参考にしてみたのですが、ローカルで pm2 start npm -- start と打つと

[PM2] Applying action restartProcessId on app [npm](ids: [ 0 ]) [PM2] [npm](0) ✓ [PM2] Process successfully started [PM2][ERROR] Script not found: C:\Users\myName\Desktop\Nuxtプロジェクト名\start

というエラーが出てしまいました。

追記

package.json は下記になります。
回答を頂いて、 "stop": "nxut start --force-exit" を追記しました。

package.json

1{ 2 // 中略 3 "scripts": { 4 "dev": "nuxt", 5 "build": "nuxt build", 6 "start": "nuxt start", 7 "clean": "rm -rf .nuxt ./dist", 8 "generate": "nuxt generate", 9 "stop": "nuxt start --force-exit", 10 "lint": "eslint --ext .js,.vue --ignore-path .gitignore .", 11 "lintfix": "eslint --fix --ext .js,.vue --ignore-path .gitignore ." 12 } 13}

上記追記してからymlも追記しました。

yml

1image: node:12.16.1-alpine 2 3stages: 4 - build 5 - stop 6 7build: 8 stage: build 9 before_script: 10 - npm install 11 script: 12 - npm run build 13 - npm run start 14 - npm run stop 15 - echo "started" 16stop: 17 stage: stop 18 script: 19 - echo "stop"

gitlab上の実行画面は下記の感じで、

// npm installなど added 1391 packages from 1009 contributors and audited 30152 packages in 37.852s 33 packages are looking for funding run `npm fund` for details found 229 vulnerabilities (225 low, 4 moderate) run `npm audit fix` to fix them, or `npm audit` for details $ npm run build > hoge@1.0.0 start /builds/mates1/hoge/hoeghoge > nuxt build [log] config/.env.local $ npm run start > hoge@1.0.0 start /builds/mates1/hoge/hoeghoge > nuxt start

ここまで実行してこの状態で以降止まってしまいます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aaharu

2020/04/28 09:09

`npm run start`で実行するものはユーザーが定義するので、 package.json の scripts start に書かれているものがないと質問に答えられません。
guest

回答1

0

ベストアンサー

startの中身が書かれていませんが、そういうものなんじゃないかと思います。
npm run startnuxt startを実行しているのであれば、nuxtには--force-eixtというオプションがあるようなので、nuxt start --force-eixtとすれば終了しそうです。
pm2は特に関係ないと思います。

投稿2020/04/28 08:42

aaharu

総合スコア441

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kkmts

2020/04/28 11:49

回答頂きありがとうございます! 追記の通りやってみたのですが、状況は変わりませんでした…
aaharu

2020/04/28 11:57 編集

startを他で使用していてstartを変更できないなら別ですが、stop で force-exit するのではなくて start でしてください。 `nuxt --help`の説明は下記の通りで、force-exitは起動中のものを停止するオプションではなくて、start後に終了するオプションです。 > --force-exit Whether Nuxt.js should force exit after the command has finished あとはそもそもなんですが、すぐ終了させる start をCIでやる必要があるのかが気になります。
kkmts

2020/04/28 12:25

ありがとうございます! エラーができずに終了できました。 > あとはそもそもなんですが、すぐ終了させる start をCIでやる必要があるのかが気になります。 たしかにそうかもしれません…。こういったことをあまりやったことがなく、Nuxtが動くことを確認したかったのですが、そういうときはどうするものなんでしょうか…
aaharu

2020/04/28 12:40

本番環境をどう構築しているか次第なので決まった答えがあるわけではありませんが、サーバーが立ち上がらない、といったものはデプロイ時のエラーにしていることが多いんじゃないかなと思います。
kkmts

2020/04/28 13:06

なるほど、ありがとうございます! また考えてみます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問