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

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

新規登録して質問してみよう
ただいま回答率
85.35%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Circle CI

Circle CIは、クラウド上に簡単にCI環境を構築できるWebサービスです。GitHubと連携させ、CIしたいリポジトリーを選択しビルド・テストを行います。チャット等を利用して結果を確認することが可能です。

Q&A

解決済

1回答

1248閲覧

circleCIにbuild中Gem::GemNotFoundExceptionが出る

N-hiromi

総合スコア6

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Circle CI

Circle CIは、クラウド上に簡単にCI環境を構築できるWebサービスです。GitHubと連携させ、CIしたいリポジトリーを選択しビルド・テストを行います。チャット等を利用して結果を確認することが可能です。

0グッド

0クリップ

投稿2021/09/26 08:45

前提・実現したいこと

docker環境,railsアプリをcircleCIでbuildしているとGemNotFoundExceptionのエラーが出てしまいます。下記記事を参考にbuild, rspec, rubocopをクリアしたら自動でdeployされるようにしたいです。
https://qiita.com/g_ayushi/items/276b93d8e1a61a9f97b3

発生している問題・エラーメッセージ

Traceback (most recent call last): 2: from /usr/local/bin/bundle:23:in `<main>' 1: from /usr/local/lib/ruby/site_ruby/2.5.0/rubygems.rb:308:in `activate_bin_path' /usr/local/lib/ruby/site_ruby/2.5.0/rubygems.rb:289:in `find_spec_for_exe': can't find gem bundler (>= 0.a) with executable bundle (Gem::GemNotFoundException)

該当のソースコード

config.yml

version: 2.1 orbs: ruby-orbs: sue445/ruby-orbs@1.6.0 heroku: circleci/heroku@1.0.1 workflows: version: 2.1 build: jobs: - rspec - rubocop - heroku_deploy: requires: - rspec - rubocop executors: default: working_directory: ~/okonomiyakidb docker: - image: ruby:2.5.0-stretch environment: BUNDLE_PATH: vendor/bundle RAILS_ENV: test BUNDLER_VERSION: 2.2.22 jobs: build: executor: default steps: - checkout - bundle-install rubocop: executor: default steps: - preparate - run: name: Rubocop command: bundle exec rubocop --require rubocop-airbnb rspec: executor: default steps: - preparate - run: bundle exec rails db:create - run: bundle exec rails db:schema:load - run: name: Rspec command: bundle exec rspec heroku_deploy: executor: heroku/default parameters: app-name: default: $HEROKU_APP_NAME_PRD type: string post-deploy: default: - run: command: heroku run rails db:migrate --app $HEROKU_APP_NAME_PRD type: steps steps: - checkout - heroku/install - heroku/deploy-via-git: app-name: << parameters.app-name >> - steps: << parameters.post-deploy >> commands: bundle-install: steps: - ruby-orbs/bundle-install: bundle_clean: true bundle_extra_args: '' bundle_gemfile: Gemfile bundle_jobs: 4 bundle_path: vendor/bundle bundle_retry: 3 cache_key_prefix: v1-bundle-dependencies restore_bundled_with: true preparate: steps: - checkout - bundle-install

dockerfile

FROM ruby:3.0.2 RUN apt-get update -qq && apt-get install -y --no-install-recommends nodejs default-mysql-client && apt-get clean && rm -rf /var/lib/apt/lists/* RUN apt-get update && apt-get install -y curl apt-transport-https wget && \ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \ echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \ apt-get update && apt-get install -y yarn RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - && \ apt-get install -y nodejs RUN mkdir /okonomiyakidb WORKDIR /okonomiyakidb COPY Gemfile /okonomiyakidb/Gemfile COPY Gemfile.lock /okonomiyakidb/Gemfile.lock RUN bundle install RUN rails webpacker:install COPY . /okonomikakidb COPY entrypoint.sh /usr/bin/ RUN chmod +x /usr/bin/entrypoint.sh ENTRYPOINT ["entrypoint.sh"] EXPOSE 3000 CMD ["rails", "server", "-b", "0.0.0.0"]

試したこと

下記記事を参考に、dockerfileのRun bundle installの前にRUN gem install bundlerを記述しました。
config.ymlには- ruby-orbs/bundle-install:の前に

  • run:
    name: bundler install
    command: |
    gem install bundler
    を記載しましたがエラーが解決できませんでした。

https://qiita.com/kenji__n/items/2572f96900981e0437da

コンテナに入ってgem listでbundlerのversionを確認しますとbundler (default: 2.2.22)でした。
gemfile.lockのbundlerのversionとも一致しています。

補足情報(FW/ツールのバージョンなど)

MacBook Pro (13-inch, 2020, Two Thunderbolt 3 ports)

詳細なerrorはこちらをご参照ください。
コードはこちらに載せてあります。
どなたかよろしくお願い致します。

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

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

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

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

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

guest

回答1

0

自己解決

gemfile.lockとcircleciでのbundlerのバージョンを合わせたらできました。

投稿2021/09/30 00:42

N-hiromi

総合スコア6

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問