#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