программе electron-updater не удалось проанализировать latest.yml в артефактах частного репозитория gitlab

#gitlab #gitlab-ci #electron-updater

#gitlab #gitlab-ci #electron-updater

Вопрос:

Я пытаюсь использовать Electron Updater с частным репозиторием GitLab.

Основной файл Electron (частично):

 autoUpdater.requestHeaders = { 'PRIVATE-TOKEN': process.env.VUE_APP_GITLABSECRET }
autoUpdater.autoDownload = true

autoUpdater.setFeedURL({
  provider: 'generic',
  url: 'https://gitlab.com/SmellydogCoding/mchd-electronic-field-guide/-/jobs/artifacts/master/raw/dist_electron?job=build'
})

autoUpdater.on('checking-for-update', function () {
  console.log('Checking for update...')
})
  

Когда я запускаю приложение, я получаю это сообщение об ошибке:

 Error: Error: Cannot parse update info from latest.yml in the latest release artifacts (https://gitlab.com/SmellydogCoding/mchd-electronic-field-guide/-/jobs/artifacts/master/raw/dist_electron/latest.yml?job=build): YAMLException: end of the stream or a document separator is expected at line 3, column 17:
    <head prefix="og: http://ogp.me/ns#">
  

Происходит то, что сервер отвечает строкой HTML, которая является страницей входа в Gitlab.

Если я сверну

 --header 'PRIVATE-TOKEN': 'mygitlabprivatetoken' https://gitlab.com/SmellydogCoding/mchd-electronic-field-guide/-/jobs/artifacts/master/raw/dist_electron/latest.yml?job=build
  

Сервер возвращает:

Заголовок

 HTTP/1.1 302 Found
Server: nginx
Date: Tue, 19 Mar 2019 17:57:21 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 98
Cache-Control: no-cache
Location: https://gitlab.com/users/sign_in
Set-Cookie: _gitlab_session=da00cbc69f2d50ea4192f4e3002f84a9; path=/; secure; HttpOnly
X-Request-Id: dGkxtbboHy7
X-Runtime: 0.049129
Strict-Transport-Security: max-age=31536000
Content-Security-Policy: object-src 'none'; worker-src https://assets.gitlab-static.net https://gl-canary.freetls.fastly.net https://gitlab.com blob:; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://assets.gitlab-static.net https://gl-canary.freetls.fastly.net https://www.google.com/recaptcha/ https://www.recaptcha.net/ https://www.gstatic.com/recaptcha/ https://apis.google.com; style-src 'self' 'unsafe-inline' https://assets.gitlab-static.net https://gl-canary.freetls.fastly.net; img-src * data: blob:; frame-src 'self' https://www.google.com/recaptcha/ https://www.recaptcha.net/ https://content.googleapis.com https://content-compute.googleapis.com https://content-cloudbilling.googleapis.com https://content-cloudresourcemanager.googleapis.com https://*.codesandbox.io; frame-ancestors 'self'; connect-src 'self' https://assets.gitlab-static.net https://gl-canary.freetls.fastly.net wss://gitlab.com https://sentry.gitlab.net https://customers.gitlab.com https://snowplow.trx.gitlab.net
  

Тело

 <html><body>You are being <a href="https://gitlab.com/users/sign_in">redirected</a>.</body></html>
  

Похоже, я неправильно выполняю аутентификацию. Я действительно не уверен, что я делаю неправильно.

Комментарии:

1. Вы можете посмотреть: gist.github.com/Slauta/5b2bcf9fa1f6f6a9443aa6b447bcae05

2. Это одно из первых сообщений, которые я прочитал. На самом деле это немного устарело, потому что последняя версия electron builder требует build: {} , чтобы она была в отдельном файле JSON, а не в package.json . Также slauta93/electron-builder-win пользователям Node6 и мне нужно, по крайней мере, Node8, чтобы использовать Vue CLI.

3. Используете ли вы последнюю версию electron-updater? также используете ли вы electron-builder для упаковки и публикации артефакта?

4. Кроме того, вы уверены, что ваш артефакт действительно расположен по этому URL? https://gitlab.com/SmellydogCoding/mchd-electronic-field-guide/-/jobs/artifacts/master/raw/dist_electron