Travis CI自动启动`deploy`分支的工作,但

时间:2017-08-14 12:03:38

标签: travis-ci github-pages

我在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. 下列出。

1 个答案:

答案 0 :(得分:0)

不幸的是Travis CI must have a .travis.yml file in each active branch of your project

分支“安全列表”也优先于“阻止列表”。尝试将branches:部分更改为:

branches:
  only:
  - dev

...并在你的主人身上加上.travis.yml