我在GitHub页面上为Hugo Blog设置了部署作业,代码本身存储在dev
分支中,而呈现博客的静态文件存储在master
分支中。
因此,我创建了一个YAML .travis.yml
文件,将所有内容呈现为public/
并将其部署到master
。 .travis.yml
的相关部分如下所示:
branches:
only:
- dev
except:
- master
deploy:
github_token: $GITHUB_TOKEN
provider: pages
target_branch: master
skip_cleanup: true
local_dir: public
on:
branch: dev
这很完美。每当我将代码推送到dev
时,脚本就会运行并且静态网站正在呈现并生成到public/
,但由于某种原因,这也创建了一个自动构建作业,由{{1创建并启动}}
我在Deployment Bot (from Travis CI)
分支机构中没有.travis.yml
个文件,所以特拉维斯明显抱怨这个,并说明:
master
以后执行Could not find .travis.yml, using standard configuration.
后失败:
rake
我明白为什么这份工作失败了。问题是这项工作应该从未在第一时间运行。没有理由在静态文件上运行任何CI作业,这是原始预期CI作业的结果。
如何让Travis在部署后自动停止构建此作业? Travis不会忽略master分支上的构建,尽管它在YAML文件中的$ rake
rake aborted!
No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb)
/home/travis/.rvm/gems/ruby-2.4.1@global/gems/rake-12.0.0/exe/rake:27:in `<top (required)>'
/home/travis/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `eval'
/home/travis/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `<main>'
(See full trace by running task with --trace)
The command "rake" exited with 1.
下列出。
答案 0 :(得分:0)
不幸的是Travis CI must have a .travis.yml
file in each active branch of your project。
分支“安全列表”也优先于“阻止列表”。尝试将branches:
部分更改为:
branches:
only:
- dev
...并在你的主人身上加上.travis.yml
。