Реагировать на развертывание приложения CodeShip-Heroku: первоначальная сборка прерывается с кодом ошибки 503 - PullRequest
0 голосов
/ 12 марта 2020

Я развернул свой интерфейс React с CodeShip и Heroku. Я могу открыть приложение, но CodeShip показывает, что сборка не работает, причина в следующем:

Trying (1 of 6) 'wget --no-check-certificate --output-document=/dev/null http://******.herokuapp.com'
--2020-03-11 21:59:01--  http://******.herokuapp.com/
Resolving ******.herokuapp.com (******.herokuapp.com)... 52.214.138.78, 54.77.242.148, 54.171.40.67, ...
Connecting to ******.herokuapp.com (******.herokuapp.com)|52.214.138.78|:80... connected.
HTTP request sent, awaiting response... 503 Service Unavailable
2020-03-11 21:59:35 ERROR 503: Service Unavailable.

Но когда я проверяю свои журналы Heroku после того, как открываю URL root, я получаю это, ни один из это Error 503.

2020-03-11T22:12:59.322877+00:00 heroku[router]: at=info method=GET path="/" host=******.herokuapp.com request_id=57f74e93-a951-4179-ae00-3761976d2656 fwd="176.63.10.67" dyno=web.1 connect=0ms service=3ms status=304 bytes=173 protocol=https
2020-03-11T22:12:59.389496+00:00 heroku[router]: at=info method=GET path="/sockjs-node" host=******.herokuapp.com request_id=516c3825-2bc9-4dfd-a4b9-7a84d2b40bf4 fwd="176.63.10.67" dyno=web.1 connect=1ms service=32093ms status=101 bytes=129 protocol=https
2020-03-11T22:12:59.475750+00:00 heroku[router]: at=info method=GET path="/static/js/0.chunk.js" host=******.herokuapp.com request_id=ab42c365-d66e-4439-be0a-525f425ebec5 fwd="176.63.10.67" dyno=web.1 connect=0ms service=32ms status=304 bytes=176 protocol=https
2020-03-11T22:12:59.476304+00:00 heroku[router]: at=info method=GET path="/static/js/main.chunk.js" host=******.herokuapp.com request_id=a78e6524-3792-42d6-8fab-760aa27aea3b fwd="176.63.10.67" dyno=web.1 connect=1ms service=32ms status=304 bytes=174 protocol=https
2020-03-11T22:12:59.451102+00:00 heroku[router]: at=info method=GET path="/static/js/bundle.js" host=******.herokuapp.com request_id=9e4977bc-ab8e-4cd5-8500-b3ebc411feaa fwd="176.63.10.67" dyno=web.1 connect=0ms service=5ms status=304 bytes=174 protocol=https
2020-03-11T22:12:59.793691+00:00 heroku[router]: at=info method=GET path="/manifest.json" host=******.herokuapp.com request_id=3b248e90-9da2-472a-9653-f0d25f840d76 fwd="176.63.10.67" dyno=web.1 connect=1ms service=6ms status=304 bytes=237 protocol=https
2020-03-11T22:12:59.809653+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=******.herokuapp.com request_id=7dab8f56-c457-42a1-a190-37f8a0a687fd fwd="176.63.10.67" dyno=web.1 connect=1ms service=21ms status=200 bytes=9780 protocol=https

Путь '/' root возвращает это в моем коде React:

//App.js
<PublicRoute exact path='/' component={Home} layout={LandingLayout} />

//PublicRoute.js
const PublicRoute = ({ component: Component, layout: Layout, ...rest }) => (
    <Route {...rest} render={props => (
        <Layout>
            <Component {...props} />
        </Layout>
    )}
    />
);

//Home.js
import React, { Component } from 'react';

export default class Home extends Component {
  static displayName = Home.name;

  render () {
    return (
      <div>
      </div>
    );
  }
}

Как мне решить эту проблему?

1 Ответ

0 голосов
/ 14 марта 2020

Просаи c ответ немного огорчает: я использую бесплатную версию heroku, которая может привести к тому, что запуск приложения будет иметь меньше ресурсов и станет просто медленнее.

Также кажется что весь процесс сборки приложения heroku имеет ограничение по времени 30 секунд, которое возвращает H12 Request timout ошибка при достижении.

Если я продолжаю вызывать приложение сразу после -----> Build succeeded! сообщение зарегистрировано в CodeShip от Heroku, я получаю более быстрый ответ по какой-то случайной причине, и в этом случае сборка не прерывается.

Как вы можете видеть на картинке, это то, что я делал в предыдущей сборке. В целях тестирования я снова перезапустил сборку и не открывал приложение вручную. Время ожидания истекло 30 секунд, и сборка прервалась.

enter image description here

Попытайтесь снова, продолжайте обновлять URL-адрес приложения heroku, которое действительно возвращает код 200 OK .

Trying (1 of 6) 'wget --no-check-certificate --output-document=/dev/null http://******.herokuapp.com'
--2020-03-14 14:59:15--  http://******.herokuapp.com/
Resolving ******.herokuapp.com (******.herokuapp.com)... 34.255.174.179, 52.18.75.143, 52.208.237.242, ...
Connecting to ******.herokuapp.com (******.herokuapp.com)|34.255.174.179|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1700 (1.7K) [text/html]
Saving to: /dev/null

enter image description here

Чтение документов heroku ясно, что нет точного ответа, как решить эту проблему. Длинные циклы или большие требования к вычислениям со стороны приложения могут легко привести к тайм-ауту в 30 секунд.

В любом случае, мое приложение довольно легковесное, без серьезных логик c, только большая зависимость от самого React. Таким образом, это не очень автоматическая доставка, поэтому я собираюсь обратиться к Heroku и попытаться выяснить, действительно ли это проблема бесплатной версии.

РЕДАКТИРОВАТЬ:

Оказывается, Heroku не предоставляет никакой поддержки для бесплатных пользователей, вместо этого они перенаправляют вас на stackoverflow.com:

enter image description here

Круг завершен, я думаю.

...