我有一个带有electron-js项目的存储库。我正尝试从travis CI设置构建并部署到github版本。
我有下一个配置:
language: node_js
node_js:
- "8"
before_install:
- cd app
install:
- npm install
os:
- linux
- osx
env:
- TARGET_ARCH=x64
script:
- npm run dist
branches:
only:
- master
deploy:
provider: releases
skip_cleanup: true
api_key: $GH_TOKEN
Travis成功构建应用程序,但没有将工件上传到github版本。
据我了解documentation,它应该创建一个带有标记untagged-*
的新版本并将文件上传到它。
现在我在构建日志中有这些消息:
跳过发布文件= Cromberg_1.2.1_amd64.deb reason =现有类型 与发布类型tag = v1.2.1 version = 1.2.1不兼容 existingType = release publishingType = draft
1.2.1
是以前的标记。我做错了什么?
我希望在每次提交时使用master分支中的标记自动构建和创建包含工件的版本。但现在我只是尝试在任何事件上设置部署。
答案 0 :(得分:2)
您需要在travis.yml中正确设置部署参数,请看:
language: go
go:
- "1.10"
script:
- CGO_ENABLED=0 go build
- ls
deploy:
provider: releases
api_key: $TOKEN
file: "test"
skip_cleanup: true
on:
tags: false
如果您设置标记:false ,则travis将使用未标记的标记发布您的应用:
答案 1 :(得分:2)
要在标签上部署到github版本,你应该有这样的配置的一部分:
deploy:
provider: releases
skip_cleanup: true
api_key: $GH_TOKEN
file_glob: true
file:
- "dist/Cromberg-*-x86_64.AppImage"
- "dist/Cromberg_*_amd64.deb"
- "dist/Cromberg-*.dmg"
on:
tags: true
也不要在配置中设置分支,如下所示:
branches:
only:
- master
因为它只会在这个分支上构建并且不使用标签(但在部署配置中我们设置标签:true)
因此,当您在master上使用某个标记进行提交时,它将构建您的应用程序两次:首先在master分支上构建,将跳过部署步骤。另一个构建标记,它将在此构建期间创建发布并上传文件以进行发布。