Развертывание артефактов x86 и x64 в AppVeyor в версиях Github - PullRequest
0 голосов
/ 01 июня 2018

У меня есть решение Visual Studio 2017, которое состоит из одного проекта C ++.

Я хотел, чтобы AppVeyor build для x86 и x64 и deploy 2 исполняемых файла на GitHub Releases.

Хотя развертывание только для одной арки, кажется, работает нормально, я обнаружил, что мой appveyor.yml файл заменяет исполняемый файл после завершения задания и запуска другого.

Для справки, это мое первое развертывание, поэтому мне понадобятся некоторые указания.

Вот некоторая информация о Github Releases https://www.appveyor.com/docs/deployment/github/

Вот мой appveyor.yml файл

version: '{build}'
image: Visual Studio 2017
configuration: Release
platform:
- x86
- x64
build:
  verbosity: minimal
artifacts:
- path: Release\pathfinding.exe
  name: pathfinding-x86.exe
- path: x64\Release\pathfinding.exe
  name: pathfinding-x64.exe
deploy:
- provider: GitHub
  auth_token:
    secure: the-token-is-hidden-on-purpose
  force_update: true
  on:
    APPVEYOR_REPO_TAG: true

1 Ответ

0 голосов
/ 01 июня 2018

Я понял это!

Кстати, вот мой репозиторий: https://github.com/xorz57/pathfinding

Проблема была в моем дереве сборки визуальной студии.Если вы используете свойства проекта Visual Studio по умолчанию, исполняемые файлы имеют одно и то же имя файла, даже если они находятся в другом каталоге при сборке для x86 и x64, и поэтому appveyor никогда не загружал второй исполняемый файл в GitHub Releases.Поэтому я пошел в Visual Studio и открыл настройки своего проекта, чтобы изменить дерево сборки.

enter image description here

Убедитесь, что вы изменили Configuration на All Configurations и Platformдо All Platforms.Затем перейдите к изменению следующих трех параметров Output Directory, Intermediate Directory, Target Name.На картинке выше я покажу вам, как я настроил свой собственный проект.Конечно, это не единственный способ, и я полагаю, что это лучший возможный способ организации вашего проекта.

Суть в том, чтобы иметь другое имя файла для исполняемых файлов .

Теперь я нажимаю новый тег, и все работает как положено.

enter image description here

И вот мой обновленный appveyor.yml файл

version: '{build}'
image: Visual Studio 2017
configuration: Release
platform:
- x86
- x64
build:
  parallel: true
  verbosity: minimal
artifacts:
- path: Build\Release\pathfinding-x86.exe
  name: pathfinding-x86.exe
- path: Build\Release\pathfinding-x64.exe
  name: pathfinding-x64.exe
deploy:
- provider: GitHub
  auth_token:
    secure: the-token-is-hidden-on-purpose
  force_update: true
  on:
    APPVEYOR_REPO_TAG: true
...