2017-06-06 48 views
1

我不想在AppVeyor上创建ZIP文件以GitHub作为Release发布它。在AppVeyor上创建ZIP文件并部署为GitHub发布版

目前,建立过程化妆步骤如下:

  • 安装Node.js的v7
  • 启动.\Build-All.bat

Bild.bat有以下步骤:

  • 创建TempBuild目录
  • 移动SourceTemp
  • 安装depencies与npm install
  • 开始electron-packager创建二进制文件(见/Build/目录的目录结构)

目录结构:

/Source/ 
/Build/ 
    L /DSTEd-darwin-x64/ 
    L /DSTEd-linux-armv7l/ 
    L /DSTEd-linux-ia32/ 
    L /DSTEd-linux-x64/ 
    L /DSTEd-mas-x64/ 
    L /DSTEd-win32-ia32/ 
    L /DSTEd-win32-x64/ 
/Temp/ 
/Build.bat 

这里是什么,我想:

包每个版本目录(样品/Build/DSTEd-win32-x64/)到ZIP - 归档样/Build/DSTEd-win32-x64.zip

将所有的ZIP档案(/Build/DSTEd-*-*.zip),以释放

我已经手动创建了GitHub的发布样本;也就是说,我想: https://github.com/DST-Tools/DSTEd/releases/tag/1.0.0

这里是我的appveyor.yml

version: 1.0.0-{build} 

# Set the Node Version 
environment: 
    matrix: 
    - nodejs_version: "7" 

# Install scripts. (runs after repo cloning) 
install: 
    - ps: Install-Product node $env:nodejs_version 
    - npm -g install electron-packager 
    - .\Build-All.bat 

# Caching 
cache: 
    - node_modules 

# Deployment Options 
deploy: 
    tag: $(appveyor_build_version) 
    release: 'DSTEd v${appveyor_build_version} - Pre-Release (Preview)' 
    description: ' ![Preview](https://github.com/DST-Tools/DSTEd/raw/master/Screenshots/preview.png) ## Pre-Release v1.0.0 (Preview) Builded binarys for `Windows` (`32bit` & `64bit`), `Linux` (`32bit`, `64bit` & `armv7`) and `Mac OS X` (`darwin` & `mas`, only `64bit`).' 
    provider: GitHub 
    auth_token: 
    secure: b202f536350628ff69af69d08daee9f76a9cff20 
    artifact: '**\*.zip' 
    draft: false 
    prerelease: true 
    on: 
    branch: master 
    appveyor_repo_tag: true 

matrix: 
    fast_finish: true 

build: OFF 
test: OFF 

回答

1

错过的部分是artifact packaging。你可以列出所有这些文件夹是工件,Appveyor会为你压缩它们。部署后将“看到”他们。

备注:您可能想要删除on/branch:master部分,因为在大多数情况下,标记名称将替换传入webhook中的分支名称。更多细节是here。总的来说,我建议先从最简单的部署配置开始,然后在基本配置工作后逐一添加设置。

0

packaging artifacts是非常复杂的。通过文档,您可以定义过滤器不会正常工作。

我已经实现了自己的解决方案来触发before_deploy。部署阶段开始前,一个脚本包中的文件的ZIP和添加为一个神器:

# Deployment Options 
before_deploy: 
    - node .\Tools\PackageBuild.js 
    - ps: Get-ChildItem .\Build\*.zip | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name } 

在部署进程,我们添加所有可用的文物离开属性为空:

deploy: 
    [...] 
    artifact: #leave blank 
相关问题