Как опубликовать на частном GitHub с помощью Electron-builder NSIS и AppImage?

  • Версия Electron-builder: 20.38.5
  • Цель: Windows ia32 и x64.

Я пытаюсь перенести проект на выпуски GitHub в частном репозитории. Основная цель - Win ia32 и x64.

Я установил токен в консоли:

set GH_TOKEN=<blabla>

И в файле package.json:

"publish": {
      "provider": "github",
      "repo": "electron-todo-tasks",
      "owner": "AndreD23",
      "host": "github.com",
      "protocol": "https",
      "releaseType": "draft",
      "token": "<blablabla>",
      "private": true
    }

Я единственный, у кого будет доступ к проекту, поэтому обновление токена в файле, по-видимому, не проблема.

Но когда я бегу:

electron-builder --x64 --ia32 --publish always

Он показывает мне ошибку:

Error: Cannot cleanup:

Error #1 --------------------------------------------------------------------------------
HttpError: 404 Not Found
"method: undefined url: https://github.com/repos/AndreD23/electron-todo-tasks/releases\n\nPlease double check that your authentication token is correct. Due to security reasons actual status maybe not reported, but 404.\n"

Прикреплю всю ошибку.

2019-03-22T13_04_27_992Z-debug. журнал

ошибка электронной публикации error.txt

Я попытался всегда изменить параметр на onTag или onTagOrDraft и изменить releaseType на release.

Я пытался сначала вручную создать черновик на GitHub, не работает.

Я пытался сделать репозиторий общедоступным для тестов, тоже не получилось.

Я дважды пытался восстановить токен и обновил envs, console и package.json, не работает.

Есть ли конфигурация, которую я пропустил? Что мне нужно сделать, чтобы Electron опубликовал на GitHub?

При ошибке пишет, что не удается найти https://github.com/repos/AndreD23/electron-todo-tasks/releases. Открывая его в веб-браузере, он возвращает 404. Я считаю ссылку немного странной, потому что она добавляет слово репозитории после github.com и удаляет его в браузере, и загружается нормально. Это слово устанавливается автоматически?


person André Dorneles    schedule 10.04.2019    source источник


Ответы (2)


Спасибо, @edelCustodio

Ссылка: https://github.com/electron-userland/electron-builder/issues/3776#issuecomment-486888574

Это сработало для меня, в PowerShell введите это

[Environment]::SetEnvironmentVariable("GH_TOKEN","my-personal-token","User") 

и убедитесь, что ваш package.json будет таким:

"build": {
    "appId": "com.friasoftit.electron-auto-update",
    "productName": "Electron Auto Update",
    "publish": [
      {
        "provider": "github",
        "owner": "edelCustodio",
        "repo": "electron-auto-update"
      }
    ],
    "win": {
      "publish": [
        "github"
      ],
      "target": [
        {
          "target": "nsis",
          "arch": [
            "x64",
            "ia32"
          ]
        }
      ]
    }
  },

А затем я запускаю эту команду yarn run publish, и вот как мой publish находится в моем package.json

"publish": "build --win -p always" 

Не забудьте закрыть и открыть новый терминал PowerShell.

person André Dorneles    schedule 15.01.2020

  1. Запустите Windows PowerShell от администратора
  2. Выполните [Environment] :: SetEnvironmentVariable (GH_TOKEN, ‹git_hub_token›, пользователь)
  3. Запустите или полностью перезапустите вашу IDE
  4. Запустить пакет bozon windows --publish

Конфиг:

{
  "name": "",
  "version": "",
  "description": "",
  "author": "",
  "repository": "<repo_url>",
  "dependencies": {
    "cross-fetch": "^3.0.6",
    "electron-builder": "^22.10.5",
    "file-loader": "^6.2.0",
    "luxon": "^1.26.0",
    "node-fetch": "^2.6.1"
  },
  "license": "ISC",
  "devDependencies": {
    "bozon": "1.1.3",
    "eslint-config-airbnb-base": "^14.2.1",
    "eslint-plugin-import": "^2.22.1",
    "jest": "26.6.3",
    "spectron": "13.0.0"
  },
  "build": {
    "appId": "",
    "publish": [
      {
        "provider": "github"
      }
    ],
    "win": {}
  },
  "main": ".eslintrc.js",
  "directories": {
    "test": "test"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  }
}
person psw2020    schedule 16.03.2021