在 Github 版本上将 x86 和 x64 工件部署到 AppVeyor
Deploy x86 and x64 artifacts to AppVeyor on Github Releases
我有一个 Visual Studio 2017 解决方案,它包含一个 C++ 项目。
我希望 AppVeyor 为 x86
和 x64
构建 并且 部署 [=] 上的 2 个可执行文件14=].
虽然只为一个 arch 部署似乎工作正常,但我发现我的 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
我想通了!
顺便说一句,这是我的存储库:https://github.com/xorz57/pathfinding
问题是我的 visual studio 构建树。
如果您使用默认的 visual studio 项目属性,即使在为 x86
和 x64
构建时它们位于不同的目录中,可执行文件也具有完全相同的文件名,这就是为什么 appveyor 从未上传过GitHub Releases
的第二个可执行文件。所以我去了 visual studio 并打开了我的项目设置来更改构建树。
确保将配置更改为 All Configurations
,将平台更改为 All Platforms
。然后继续更改以下三个选项Output Directory
、Intermediate Directory
、Target Name
。在上图中,我向您展示了我是如何配置自己的项目的。当然,这不是唯一的方式,我也不建议这是组织项目的最佳方式。
关键是要为可执行文件设置不同的文件名。
现在我推送了一个新标签,一切正常。
这是我更新的 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
我有一个 Visual Studio 2017 解决方案,它包含一个 C++ 项目。
我希望 AppVeyor 为 x86
和 x64
构建 并且 部署 [=] 上的 2 个可执行文件14=].
虽然只为一个 arch 部署似乎工作正常,但我发现我的 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
我想通了!
顺便说一句,这是我的存储库:https://github.com/xorz57/pathfinding
问题是我的 visual studio 构建树。
如果您使用默认的 visual studio 项目属性,即使在为 x86
和 x64
构建时它们位于不同的目录中,可执行文件也具有完全相同的文件名,这就是为什么 appveyor 从未上传过GitHub Releases
的第二个可执行文件。所以我去了 visual studio 并打开了我的项目设置来更改构建树。
确保将配置更改为 All Configurations
,将平台更改为 All Platforms
。然后继续更改以下三个选项Output Directory
、Intermediate Directory
、Target Name
。在上图中,我向您展示了我是如何配置自己的项目的。当然,这不是唯一的方式,我也不建议这是组织项目的最佳方式。
关键是要为可执行文件设置不同的文件名。
现在我推送了一个新标签,一切正常。
这是我更新的 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