Ich bin neu bei CircleCI.
Rails 6.0.3.1
#### **`ruby 2.6.3`**
Bundler version 2.1.4
***
Ich habe versucht, circleCI in Zusammenarbeit mit github in die ursprüngliche App einzuführen, indem ich auf den folgenden Artikel verwiesen habe.
[[Circle CI] Führen Sie in Zusammenarbeit mit github mit der Rails-App Rubocop- und rspec-Tests durch](https://qiita.com/AK4747471/items/b2161784065f21cd1645)
Dann der folgende Fehler ...
#!/bin/bash -eo pipefail bundle -v Traceback (most recent call last):
2: from /usr/local/bin/bundle:23:in `<main>'
1: from /usr/local/lib/ruby/2.6.0/rubygems.rb:302:in `activate_bin_path'
/usr/local/lib/ruby/2.6.0/rubygems.rb:283:in `find_spec_for_exe': Could not find 'bundler' (2.1.4) required by your /home/circleci/project/Gemfile.lock. (Gem::GemNotFoundException)
To update to the latest version installed on your system, run bundle update --bundler
.
To install the missing version, run gem install bundler:2.1.4
Exited with code exit status 1 CircleCI received exit code 1
Schauen wir uns vorerst den Inhalt von `` `.circleci / config.yml``` an.
#### **`.circleci/config.yml`**
version: 2.1 orbs: ruby: circleci/[email protected]
jobs: build: docker: - image: circleci/ruby:2.6.3-stretch-node executor: ruby/default steps: - checkout - run: name: Which bundler? command: bundle -v - ruby/bundle-install
Das unterscheidet sich von dem, was ich in der `` `Docker```-Filiale eingestellt habe ...
Es wurde nicht richtig zusammengeführt.
Ein gewöhnlicher Fehler.
Schreiben Sie es richtig um und versuchen Sie es dann erneut
```set up priject```→```start building```Machen wir das!
Übrigens habe ich auf den folgenden Artikel verwiesen, um zu erfahren, wie man `` `config.yml``` schreibt.
[Erstellen Sie eine Umgebung, in der Sie Systemspezifikationen mit CircleCI ausführen können, während Sie eine vorhandene Rails 6-Anwendung in Docker konvertieren](https://qiita.com/kenzoukenzou104809/items/e3d970b59bf106cab19e)
#### **`.circleci/config.yml`**
version: 2
jobs:
build:
working_directory: ~/my-app
docker:
- image: circleci/ruby:2.6.3-node-browsers
environment:
BUNDLE_RETRY: 3
BUNDLE_PATH: vendor/bundle
BUNDLER_VERSION: 2.1.4
DATABASE_URL: postgres://postgres:password@localhost:5432/myapp_test
RAILS_ENV: test
- image: circleci/postgres:11-alpine
steps:
- checkout
- restore_cache:
keys:
- my-app-bundle-v1-{{ checksum "Gemfile.lock" }}
- my-app-bundle-v1-
- run:
name: Bundler install
command: |
gem update --system
gem install bundler -v 2.1.4
- run:
name: Bundle Install
command: bundle check || bundle install
- save_cache:
key: my-app-bundle-v1-{{ checksum "Gemfile.lock" }}
paths:
- vendor/bundle
- restore_cache:
keys:
- rails-demo-yarn-{{ checksum "yarn.lock" }}
- rails-demo-yarn-
- run:
name:Garn einlegen
command: yarn install --cache-folder ~/.cache/yarn
- run:
name: Wait for DB
command: dockerize -wait tcp://127.0.0.1:5432 -timeout 1m
- run:
name: Database setup
command: bin/rails db:create db:schema:load --trace
- run: bundle exec bin/webpack
- run:
name: execute rspec
command: bundle exec rspec
- store_test_results:
path: /tmp/test-results
Als Einschränkung scheint die Bundle-Installation fehlzuschlagen, wenn es sich um "** Bundle 2.0.1 oder höher" handelt. Sie müssen sie daher explizit in der Umgebung angeben.
Auszug unten.
#### **`.circleci/config.yml`**
#Kürzung
docker:
- image: circleci/ruby:2.6.3-node-browsers
environment:
BUNDLE_RETRY: 3
BUNDLE_PATH: vendor/bundle
#Geben Sie die Version an
BUNDLER_VERSION: 2.1.4
DATABASE_URL: postgres://postgres:password@localhost:5432/myapp_test
RAILS_ENV: test
#Kürzung
Geben Sie außerdem die Version für Austern an
#### **`.circleci/config.yml`**
Das obige ist jetzt "Erfolg".
Referenzartikel
> [[CircleCI] "Sie müssen Bundler 2 oder höher für diese Sperrdatei verwenden." Fehler](https://haayaaa.hatenablog.com/entry/2019/10/05/223705)
[[Circle CI] Führen Sie in Zusammenarbeit mit github mit der Rails-App Rubocop- und rspec-Tests durch](https://qiita.com/AK4747471/items/b2161784065f21cd1645)
[[Circle CI] Einfache persönliche CI-Einführungsmethode ab Circle CI 2.0 bis zur Zusammenarbeit mit github](https://www.tweeeety.blog/entry/2018/02/09/195345)
Recommended Posts