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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Jenkins

Jenkinsとは、Apache TomcatなどのServletで動作しているサーバーベースシステムです。Jenkinsはオープンソースであり、LInux,Mac OS X,Windows,Solaris,FreeBSDとOpenBSDのためのパッケージがあります。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

解決済

1回答

6792閲覧

jenkinsでrake test実行時にエラーとなる

hn1

総合スコア303

Jenkins

Jenkinsとは、Apache TomcatなどのServletで動作しているサーバーベースシステムです。Jenkinsはオープンソースであり、LInux,Mac OS X,Windows,Solaris,FreeBSDとOpenBSDのためのパッケージがあります。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

1クリップ

投稿2017/02/24 08:24

以前、同じ質問をして解決していた気になっていたのですが、
また同じ問題が再発したので再度質問させていただきます。
※前回はPC再起動で直りましたが今回はPC再起動しても同じエラーが起きます。

###発生している問題・エラーメッセージ
Jenkinsでテスト自動化を行なっていますが、ある時点を境にrake testに失敗するようになりました。
以下のエラーメッセージが表示されています。

Build step 'Execute shell' marked build as failure

ローカル環境ではrake testに成功しているためJenkins環境の問題だと思われます。
(正常に動作していた時から特に設定は変更していないのですが・・・)

また設定の「bundle exec rake test」を一時的に削除して実行するとエラーは発生しないことは確認しています。

解決方法とまではいかなくても何かヒントや調査方法だけでも回答頂けると幸いです。

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

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

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

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

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

guest

回答1

0

ベストアンサー

環境変数が1番怪しい気がしますね。

ローカルでは、設定されてて、Jenkinsで起動する時に設定されていない環境変数がある気がします。
(多分、PATHが足りないとかかな?)

ローカルとJenkinsの両方で、env等のコマンドを打って環境変数を見比べてみてください。

投稿2017/02/24 08:29

IPU

総合スコア283

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

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

hn1

2017/02/24 08:54 編集

ありがとうございます。 PATHは確認しましたが問題ない気がしています。 もう少し詳細を見比べてみます。 ちなみにターミナルでjenkinsユーザでログインし、 「bundle exec rake test -v」を実行してみましたが、 エラーも出ずコマンドが即終了となってしまいます。 エラー情報が画面に出ないのでどう調べたものかと悩んでおります。
IPU

2017/02/24 09:26

ん?Jenkinsから実行する時も実行ユーザ変えなければ良いのでは? 自動テストする時も普通実行ユーザは変えないですよ?
IPU

2017/02/24 09:29

試しに、which bundle exec rakeを両方で叩いてもらえますか?多分Jenkinsユーザは実行出来ないって怒るんじゃないかと。
hn1

2017/02/24 09:39

こう出ました。jenkinsユーザでも特にエラーは出ていないようです。 $ which bundle exec rake /home/vagrant/.rbenv/shims/bundle which: no exec in (/home/vagrant/.rbenv/shims:/usr/local/rbenv/bin:/sbin/:/usr/share/maven2/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/vagrant/bin) /home/vagrant/.rbenv/shims/rake
hn1

2017/02/24 10:04 編集

jenkins立ち上がらなくなってしまったので駄目でした。元に戻しました。
IPU

2017/02/24 10:32

あっ、Jenkinsの実行ユーザではなく、 Jenkinsでコマンド発行時のユーザを、ローカルでRailsが動くユーザでキックすればというお話です。
hn1

2017/02/27 05:41

返事が遅くなってしまいましたが、 ローカルのユーザー(vagrant)でも試してみましたが同じ現象となりました。 ※rake testで何も表示されず即終了となる。 なのでJenkinsというよりJenkinsのサーバ上のRails環境がおかしくなっているという感じです。 ※上手く動いていたのはJenkinsが入っているPCではなく自分の開発用のPCです。 bundlerを入れなおしてみたりしましたが、まだ解決していません。 bundle installなどは上手く動くのですが、、
hn1

2017/02/27 08:59

データベースの削除と作成と行なうことでテストが通るようになりました。 データベースの再起動だけでは意味がなく、特にDBが壊れていたという感じもしなかったです。 (別のコマンドでDBにデータは入れられていました) なので原因はよくわかっていないのですが、とにかく直ってよかったです。 色々と助言を与えていただきありがとうございましたm(_ _)m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問