在 Go 語言項目中使用 Travis CI

原文連接:在 Go 語言項目中使用 Travis CIgit

Travis CI 是一種免費的持續集成服務,而 持續集成(CI, Continuous integration) 是一種軟件工程流程,歸納來說就是多提交小的 Commit 來更快的發現軟件的 Bug,從而提升軟件質量。github

本文會詳細介紹如何在 Go 語言項目中使用 Travis CI。golang

Travis CI logo
Travis CI logo

準備工做

  • GitHub 帳號:用於保存項目。
  • Travis CI 帳號:點擊右上角的 Sign in with GitHub 便可經過 GitHub 建立關聯帳號。
  • 示例項目 hello,它包含三個文件:

hello.go:svg

package hello

func Hello() string { return "Hello, World!" }
複製代碼

hello_test.go:post

package hello

import (
	"testing"
)

func TestHello(t *testing.T) {
	if got, want := Hello(), "Hello, World!"; got != want {
		t.Errorf("got %v, want %v", got, want)
	}
}
複製代碼

go.mod:測試

module github.com/linehk/hello

go 1.14
複製代碼

該文件經過命令:go mod init github.com/linehk/hello 生成。ui

創建 GitHub 倉庫

創建一個 GitHub 倉庫,並將上面三個文件組成的 hello 項目推送到倉庫。spa

同步倉庫到 Travis CI

Travis CI 倉庫頁面左上角點擊 Sync account 來將 GitHub 新建立的倉庫同步到 Travis CI。code

並在左邊的 Legacy Services Integration 下找到 hello 項目,將其勾選上。以下圖所示:orm

勾選 hello 項目
勾選 hello 項目

編寫 .travis.yml 文件

受益於在 Go 1.13 版本後,Go Modules 是默認開啓的狀況下,如下就是最簡單的 .travis.yml 文件,.yml 後綴表示使用的是 YAML 格式

# 使用 Go 語言(# 號開頭的爲註釋)
language: go

script:
 - go test -v ./...
複製代碼

開始集成測試

將上一步編寫的 .travis.yml 文件加入倉庫並推送至 GitHub。Travis CI 檢測到該文件就會根據裏面的內容開始測試。以後每次推送都會觸發測試。

dashboard 中能夠找到 hello 項目,點擊進入就能夠看到詳細的測試信息。以下圖所示:

詳細測試信息
詳細測試信息

Travis CI 徽章

點擊綠色的 build passing 就能獲得徽章的地址,如:https://travis-ci.org/linehk/hello.svg?branch=master

能夠將它貼在你的 README 文件裏,若是項目在某次推送中測試失敗,徽章就會變成紅色。

參考連接

Building a Go Project

相關文章
相關標籤/搜索