0

Конфигурация и сценарии транспортира работают как в нашей локальной среде разработки, так и в непрерывной среде интеграции (аналогично Codeship).Неисправности протранслятора на Codeship из-за ответа API 405

Структура проекта заключается в следующем (я описываю Codeship окр статус ниже.):

В AngularJS запрашивает приложение данные из REST API сборки с Рубин на рельсы приложения, используя AJAX.

В нашей конфигурации Codeship мы настраиваем приложение rails, переносим и забираем базу данных, чтобы все необходимые данные были доступны.

Приложение AngularJS также настроено правильно, так как страница входа отображается как ожидалось (Я делаю экран печати, и главная страница загружена правильно).

Имя и пароль заполняются транспортиром с использованием действительных учетных данных (доступно в DB mysql).

Но при нажатии кнопки «Вход» возвращаемый ответ от вызова AJAX - это метод 405 не разрешен.

Поскольку мы никогда не сталкивались с этим ответом в наших других средах, мы полагаем, что это имеет какое-то отношение к конкретной настройке кодов.

Любые мысли, по которым API вернет 405 только на Кодексе?

Установка ниже:

rvm use 2.2.0 --install 
cp config/database.codeship.yml config/database.yml 
bundle install 
export RAILS_ENV="test" 
bundle exec rake db:drop RAILS_ENV=test 
bundle exec rake db:create RAILS_ENV=test 
bundle exec rake db:test:prepare 
bundle exec rake db:migrate RAILS_ENV=test 
bundle exec rake seed:migrate RAILS_ENV=test 
cd frontend && npm install && cd .. 
npm install -g grunt-cli 
npm install -g http-server 
cd frontend && npm install bower && cd .. 
cd frontend && bower install && cd .. 
cd frontend && grunt build && cd .. 
cd frontend && webdriver-manager update --standalone && cd .. 
export RAILS_ENV="development" 
rake db:structure:load 
rake seed:migrate 
http-server public -a 127.0.0.1 -p 9000 > /dev/null & 
http-server app > /dev/null & 
bundle exec rake 
cd frontend && grunt test && cd .. 

Вот часть скриншота, которая показывает ответ API: enter image description here

ответ

0

В конце концов, решение для нас было использовать protractor-rails - в основном используя базовый url сервера rails вместо того, чтобы пытаться запустить приложение на другом URL-адресе с помощью grunt. Наша настройка теперь выглядит так:

rvm use 2.2.0 --install 
cp config/database.codeship.yml config/database.yml 
bundle install 
# protractor tests 
export RAILS_ENV="development" 
rake db:structure:load 
rake seed:migrate 
npm install 
webdriver-manager update 
bundle exec rake protractor:init RAILS_ENV=development 
bundle exec rake protractor:spec RAILS_ENV=development 
# rails tests 
bundle exec rake db:test:prepare 
bundle exec rake db:migrate RAILS_ENV=test 
bundle exec rake seed:migrate RAILS_ENV=test 
bundle exec rake 
Смежные вопросы