Giter Site home page Giter Site logo

ci's Introduction

Build Status Coverage Status GoDoc Go Report Card Code Health

1 配置 Travis CI

  • 添加 .travis.yml
language: go
  • 使用 GitHub 账号登陆 Travis CI,获取 gopl 组织访问权限

  • 添加仓库

    将 gopl/ci 设置为打开状态

  • 设置 Build Status

    访问 Travis 仓库,点击图标,选择 Markdown,复制、粘贴到 README.md 顶部

参考资料

2 配置 Coveralls

  • 修改 .travis.yml
language: go
sudo: false
go:
  - 1.8.1
before_install:
  - go get github.com/mattn/goveralls
script:
  - goveralls -service=travis-ci
  • 使用 GitHub 账号登陆 Coveralls,获取 gopl 组织访问权限

  • 添加仓库

    将 gopl/ci 设置为 ON 状态

  • 设置 Coverage Status

    访问仓库设置,点击状态图标后面的 EMBED 下拉框,选择 MARKDOWN,复制、粘贴到 READMED.md 顶部

  • 设置覆盖率阈值

    可以设置覆盖率阈值,当覆盖率小于某百分比,或覆盖率比上一次降低了多少百分比,就认为此次构建失败

参考资料

3 使用 glide 管理依赖

  • 修改 .travis.yml
language: go
sudo: false
go:
  - 1.8.1
before_install:
  - go get github.com/mattn/goveralls
  - go get github.com/Masterminds/glide
install:
  - glide install -v
script:
  - goveralls -service=travis-ci
  • 执行 glide 命令
glide create
glide up -v
  • .gitignore 忽略 /vendor 目录

参考资料

4 静态代码分析

使用 gometalinter 执行分析

  • 修改 .travis.yml
language: go
sudo: false
go:
  - 1.8.1
before_install:
  - go get github.com/mattn/goveralls
  - go get github.com/Masterminds/glide
  - go get -u github.com/alecthomas/gometalinter
  - gometalinter --install
install:
  - glide install -v
script:
  - gometalinter --config=config.json ./...
  - goveralls -service=travis-ci
  • 添加 gometalinter 配置文件 config.json -- 按项目需要配置 Enable 列表,指定执行哪些检查工具
{
  "Vendor": true,
  "DisableAll": true,
  "Enable": ["goimports", "golint", "vet", "vetshadow", "deadcode", "gosimple"]
}

参考资料

ci's People

Contributors

custa avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.