Развертывание сайта Hugo в GAE приводит к внутренней ошибке 13

Я проводил промежуточную настройку для блога на App Engine, и несколько десятков версий работали нормально. Мой файл main.go довольно прост, но попытка развернуть выдает "внутреннюю ошибку" в командной строке:

You may also view the gcloud log file, found at
[/Users/id/.config/gcloud/logs/2016.11.28/10.18.23.292328.log].
File upload done.
Updating service [default]...failed.
ERROR: (gcloud.app.deploy) Error Response: [13] An internal error occurred.

Последний фрагмент файла журнала не помогает определить причину ошибки:

2016-11-28 10:18:50,133 DEBUG    root            Operation [apps/blog-149523/operations/2a31964d-4f0c-4c1c-9fd7-844d36be257f] complete. Result: {
    "metadata": {
        "target": "apps/blog-149523/services/default/versions/20161128t101823",
        "method": "google.appengine.v1beta5.Versions.CreateVersion",
        "user": "[email protected]",
        "insertTime": "2016-11-28T17:18:34.140Z",
        "endTime": "2016-11-28T17:18:47.381Z",
        "@type": "type.googleapis.com/google.appengine.v1beta5.OperationMetadataV1Beta5"
    },
    "done": true,
    "name": "apps/blog-149523/operations/2a31964d-4f0c-4c1c-9fd7-844d36be257f",
    "error": {
        "message": "An internal error occurred.",
        "code": 13
    }
}
2016-11-28 10:18:50,134 DEBUG    root            (gcloud.app.deploy) Error Response: [13] An internal error occurred.
Traceback (most recent call last):
  File "/Users/id/src/public/google-cloud-sdk/lib/googlecloudsdk/calliope/cli.py", line 740, in Execute
    resources = args.calliope_command.Run(cli=self, args=args)
  File "/Users/id/src/public/google-cloud-sdk/lib/googlecloudsdk/calliope/backend.py", line 1648, in Run
    resources = command_instance.Run(args)
  File "/Users/id/src/public/google-cloud-sdk/lib/surface/app/deploy.py", line 53, in Run
    return deploy_util.RunDeploy(args, app_create=True)
  File "/Users/id/src/public/google-cloud-sdk/lib/googlecloudsdk/command_lib/app/deploy_util.py", line 410, in RunDeploy
    all_services)
  File "/Users/id/src/public/google-cloud-sdk/lib/googlecloudsdk/command_lib/app/deploy_util.py", line 257, in Deploy
    endpoints_info)
  File "/Users/id/src/public/google-cloud-sdk/lib/googlecloudsdk/api_lib/app/appengine_api_client.py", line 119, in DeployService
    return operations.WaitForOperation(self.client.apps_operations, operation)
  File "/Users/id/src/public/google-cloud-sdk/lib/googlecloudsdk/api_lib/app/api/operations.py", line 70, in WaitForOperation
    encoding.MessageToPyValue(completed_operation.error)))
OperationError: Error Response: [13] An internal error occurred.
2016-11-28 10:18:50,135 ERROR    root            (gcloud.app.deploy) Error Response: [13] An internal error occurred.
2016-11-28 10:18:50,501 DEBUG    root            Metrics reporting process started...

Поиск «внутренней ошибки 13» привел меня к множеству ответов, даже здесь, на SO, где говорится, что это «временная» ошибка и должна исчезнуть сама по себе, но я имел дело с этим более недели.

Я максимально упростил свой main.go, но безрезультатно:

package main

import (
  "net/http"
  "fmt"
)

func init() {
  http.HandleFunc("/_ah/health", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "OK") })
  http.Handle("/", http.FileServer(http.Dir("public")))
}

Но процесс развертывания не жалуется на то, что мой код Go плохой, он просто каждый раз выдает эту неопределенную внутреннюю ошибку 13, и я не могу найти никакой информации о том, действительно ли это на стороне сервера или что-то, что я сделал.

Спасибо за любую помощь!


person iandouglas    schedule 28.11.2016    source источник
comment
Вы пробовали запустить свой сервер локально без GAE? Кстати, функция init мне кажется странной. Разве это не должно быть main?   -  person I159    schedule 28.11.2016
comment
Я скопировал эту часть скрипта main.go у кого-то, кто запустил проект Hugo на GAE. Как я уже сказал, это не проблема с кодом Go, это закончилось проблемой с файлом .md с плохим именем в пути (который все равно не должен был быть загружен). Как только я добавил файлы .md в список skip_files в моем app.yaml, он снова заработал.   -  person iandouglas    schedule 28.11.2016


Ответы (1)


На моем пути, должно быть, был файл .md с плохим именем. Добавление этого в мой app.yaml решило проблему:

skip_files:
  - ^(.*/)?.*\.md$

Было бы неплохо, если бы система gcloud могла сказать мне это немного яснее!

person iandouglas    schedule 28.11.2016