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

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

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

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Jenkins

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

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

Q&A

解決済

3回答

2249閲覧

jenkinsでrubyが動かせない

yuzujoe

総合スコア49

bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Jenkins

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

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

0グッド

0クリップ

投稿2019/07/30 01:34

編集2019/08/01 01:27

わからないこと

現在、VPS上のjenkinsでrubyを動かすシステムを構築しておりましてその際にbuildを選択すると以下のエラーが、

/tmp/jenkins#############.sh: line : ruby: command not found Build step 'Execute shell' marked build as failure

VPSサーバーのRubyのバージョンはこちら

$ ruby -v ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux] $which ruby ~/.rbenv/shims/ruby

bash

1# .bash_profile 2 3# Get the aliases and functions 4if [ -f ~/.bashrc ]; then 5 . ~/.bashrc 6fi 7 8# User specific environment and startup programs 9 10PATH=$PATH:$HOME/.local/bin:$HOME/bin 11 12export PATH 13export PATH="$HOME/.rbenv/bin:$PATH" 14eval "$(rbenv init -)"

試したこと

記事を見ているとbashの中身をjenkins上でexportしてあげる必要があるみたいでその設定をしてみたのですが

jenkinsshell

1# .bash_profile 2 3# Get the aliases and functions 4if [ -f ~/.bashrc ]; then 5 . ~/.bashrc 6fi 7 8# User specific environment and startup programs 9 10PATH=$PATH:$HOME/.local/bin:$HOME/bin 11 12export PATH 13export PATH="$HOME/.rbenv/bin:$PATH" 14eval "$(rbenv init -)"
/tmp/jenkins#####################.sh: line 17: rbenv: command not found

どなたか知見があればご教授お願い致します

追記

su - jenkinsの中のbash_profileも上記と同じ環境にして実施も試してみましたが動かない状況でした。

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

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

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

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

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

guest

回答3

0

Jenkinsの実行ユーザーでログインして ruby コマンドが実行可能か確認してください。

投稿2019/07/30 02:26

mather

総合スコア6753

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

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

yuzujoe

2019/07/30 11:04

CHERRY様の回答にコメントさせて頂きました????‍♂️ ご確認いただければと思います!
guest

0

自己解決

こちらですがPATHを

export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)"

ではなく

export PATH="/var/lib/jenkins/.rbenv/bin:$PATH" eval "$(rbenv init -)"

のようにすることで動きました。
また別の問題が出てきましたがそちらは別の質問で掲載させて頂きます。

https://qiita.com/moriokumura/items/36aa573891a6ab17b26d

こちらの記事が参考になりました。

投稿2019/08/03 02:17

yuzujoe

総合スコア49

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

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

0

$which ruby

~/.rbenv/shims/ruby

ruby をホームディレクトリ配下にインストールされているようですが、このrubyのパスを確認するコマンドを実行したユーザーは、Jenkinsのユーザーでしょうか。

Jenkinsのユーザーでも同様にホームディレクトリにインストールされているのでしょうか?

インストールされている場合は、Jenkinsユーザーの環境変数 PATH は、どのようになっているでしょうか?

投稿2019/07/30 04:24

CHERRY

総合スコア25171

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

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

yuzujoe

2019/07/30 11:04 編集

ご回答ありがとうございます。 jenkinsのユーザーというのは ``` cat /etc/sysconfig/jenkins JENKINS_USER="jenkins" ``` の結果で得られるユーザーのことでしょうか? それとも su - jenkinsのことでしょうか? こちらで入った際は ``` -bash-4.2$ which ruby /usr/bin/which: no ruby in (/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin) -bash-4.2$ ruby -v -bash: ruby: command not found ``` になっておりますこちらのセッティングが必要なのでしょうか?
CHERRY

2019/07/30 13:39

Jenkins から実行されるコマンドは、全て、 Jenkins ユーザー ( 上記の su - jenkins ) で実行されますので、Jenkins で使用する外部コマンドは、このユーザーで実行できるようにセットアップしておく必要があります。
yuzujoe

2019/07/31 01:33

ありがとうございます。 ご指摘の通り設定をしましたが ``` -bash-4.2$ ruby -v ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux] ``` jenkins側で実行しても結果が変わりませんでした。 他に対策などご存知でしょうか?
CHERRY

2019/07/31 02:27

jenkins には、どの様な タスク/ pipeline を登録されているのでしょうか?
yuzujoe

2019/08/01 00:19

pipelineなのかわかりませんがgitと連携してrubyコマンドでプログラムを動かす仕組みになっております 特に自動でビルドなどの構築はしておりません
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問