2017-10-06 15 views
0

RailsアプリケーションでCircleCIにElasticsearchを設定しようとしています。私はイメージを構成したと思いますが、どのようにCIに接続しますか?CircleCIでElasticsearchとRuby on Railsを設定する

これまでのところ、私が試してみました...

https://github.com/elastic/elasticsearch/issues/23866

エラーメッセージ

Elasticsearch::Transport::Transport::Errors::Unauthorized: [401] 

サークルYAMLコンフィグ

version: 2 
jobs: 
    build: 
    working_directory: ~/gathrly-smartforms 
    docker: 
     - image: circleci/ruby:2.4.1-node 
     environment: 
      RAILS_ENV: continous_integration 
      PGHOST: 127.0.0.1 
      PGUSER: rails_test_user 

     - image: circleci/postgres:9.6.3-alpine 
     environment: 
      POSTGRES_USER: rails_test_user 
      POSTGRES_PASSWORD: "" 
      POSTGRES_DB: continous_integration 

     - image: redis:4.0.2 
     - image: docker.elastic.co/elasticsearch/elasticsearch:5.4.2 

    steps: 
     - checkout 

     - restore_cache: 
      keys: 
      - my-application-{{ checksum "Gemfile.lock" }} 
      - my-application- 

     - save_cache: 
      key: rails-demo-{{ checksum "Gemfile.lock" }} 
      paths: 
      - vendor/bundle 

     - run: 
      name: Setup Bundler and Gems 
      command: | 
      gem install bundler 
      gem update bundler 
      gem install brakeman 
      gem install rubocop 
      gem install rubocop-rspec 
      gem install scss_lint 
      gem install eslint-rails 
      gem install execjs 
      bundle config without development:test 
      bundle check --path=vendor/bundle || bundle install --without development test --path=vendor/bundle --jobs 4 --retry 3 

     - run: 
      name: Setup Postgres 
      command: | 
      sudo apt-get install postgresql-client 

     - run: 
      name: Setup Rails Database 
      command: | 
      RAILS_ENV=continous_integration bundle exec rake db:drop 
      RAILS_ENV=continous_integration bundle exec rake db:setup 

     - run: 
      name: Run Rspec 
      command: | 
      RAILS_ENV=continous_integration bundle exec rspec --format RspecJunitFormatter -o /tmp/test-results/rspec.xml 

     - store_test_results: 
      path: /tmp/test-results 

X-パックが付属して弾性から弾性検索初期化子

​​
+0

こんにちはクリス:提供される他の回答から

。回答がある場合は、質問と併合するのではなく、常に以下の自己回答として追加してください。目的のために「あなた自身の質問に答える」ボタンがあります。 – halfer

+0

また、質問のタイトルが小文字のタグリストで構成されていることがわかりました。一般的に、コミュニティは、読みやすくするための適切なケースルールを使用して、完全に形成された英語の文章をタイトルとして好んでいます。私は質問がうまくいくのでタイトルを見つけるが、それは必須とは思わない。詳細については、[私のコミュニティの回答を読む](https://meta.stackoverflow.com/a/253076/472495)を参照してください。 – halfer

答えて

1

公式ドッキングウィンドウのイメージがプリインストールされています。あなたのelasticsearchインスタンスが有効なセキュリティで実行されていることを意味していますが、あなたのelasticsearchクライアントに任意のセキュリティ資格情報を提供するためには表示されませんし、あなたがしようとすると、あなたが不正(401)のエラーを取得

https://www.elastic.co/guide/en/elasticsearch/reference/5.4/docker.html

接続する。

elasticsearch.ymlxpack.security.enabled: falseを追加するか、有効な資格情報をリクエストすることでESインスタンスのセキュリティを無効にするか、

+0

ありがとう、本当にありがとう。 –

+0

私はちょうど答えを投稿しました、ありがとう –

0

(質問者の代わりに投稿)

development: &default 
    host: 'http://localhost:9200/' 
    transport_options: 
    request: 
     timeout: !!integer 300 

test: 
    <<: *default 

staging: 
    <<: *default 

continous_integration: 
    <<: *default 
    xpack.security.enabled: false 
関連する問題