golang CI 入门
来源:互联网 发布:数据压缩算法的程序 编辑:程序博客网 时间:2024/05/21 14:54
golang CI 入门
CI(持续集成 | Continuous Integration)是 TDD(测试驱动开发 - Test Driven Development)核心内容。本文通过最简单的案例,了解如何利用 Github 和 Travis 完成在线测试任务。
本文要点:
1. 创建带测试的项目
2. 编写自动构建脚本.travis.yml
3. Travis 触发构建前提条件:
1. git 客户端已安装,知道一些 git 基本命令 git 教程
2. 知道 go 项目空间,或阅读 如何使用Go编程
3. 会使用 vscode, atom 等编辑器
1、引言
Github 上好多项目都挂了如下图醒(zhuang)目(bi)的标记,是不是很高大上。
让我们的 golang 项目也挂上它。
2、创建一个简单含测试的 go 项目
2.1 创建 Git reposity
- 在 GitHub 上创建一个如 “golang-learning” repository(仓库)。
- git 提示你在对应工作区
$GOPATH/src/github.com/git-user-name/repo-name
,执行如下语句。
echo "# golang-learning" >> README.mdgit initgit add README.mdgit commit -m "first commit"git remote add origin https://github.com/pmlpml/golang-learning.gitgit push -u origin master
2.2 创建项目
用 vscode 在项目中创建 test
目录,添加 hello.go
和 hello_test.go
待测试函数 Rervise
in hello.go
package test// Reverse s stringfunc Reverse(s string) string { runes := []rune(s) for i, j := 0, len(runes)-1; i < j; i, j = i+1, j-1 { runes[i], runes[j] = runes[j], runes[i] } return string(runes)}
测试用例函数 TestReverse
in hello_test.go
package testimport ( "testing")func TestReverse(t *testing.T) { cases := []struct { in, want string }{ {"Hello, world", "dlrow ,olleH"}, {"Hello, 世界", "界世 ,olleH"}, {"", ""}, } for _, c := range cases { got := Reverse(c.in) if got != c.want { t.Errorf("Reverse(%q) == %q, want %q", c.in, got, c.want) } }}
在终端运行 go test
[userl@centos golang-learning]$ go test -v ./...=== RUN TestReverse--- PASS: TestReverse (0.00s)PASSok github.com/pmlpml/golang-learning/test 0.002s
用 Git Commit 修改并推送到 origin master
注意:最快捷的方式是 fork github.com/pmlpml/golang-learning,然后 go get 它
3、用 Travia 在线测试
3.1 管理项目版本
登陆 github 并进入你的仓库,在 Release 添加一个版本,如 v0.1
3.2 登陆 travis
进入 https://travis-ci.org 网站,它提示用 github 第三方授权 API 登陆,它会同步你 Git 上仓库。
网站提示你构建的三个步骤,如图:
3.3 构建过程
- 选择要构建的仓库
- 在仓库根添加
.travis.yml
文件,内容:
language: gogo: - tip # The latest version of Go.
用 git push 提交
在 travis-ci 上,点 golang-learning 连接,就看见由于提交触发的构建过程。
3.4 将构建图标加入README.MD
详细操作见:Github装逼指南——Travis CI 和 Codecov
4、小结
- 构建脚本
.travis.yml
非常简单。Travis 网站就是用一个 Unbutu Linux 容器构建你的项目的。 更多参考:Setting up a Travis-CI pipeline for Golang - 构建过程非常重要,请自己在 Travis-CI 控制台查阅构建日志
- 每日构建,是团队开发的质量保证
- golang CI 入门
- Hudson CI入门
- ci框架入门
- php CI框架入门
- Golang import使用入门
- Golang基础入门
- Golang Import使用入门
- 【Mark】Golang入门
- golang---redis入门
- Golang context包入门
- Golang快速入门
- Golang 入门Hello World
- golang入门基础
- golang websocket 入门
- CI框架(1)-入门
- GoLang入门1-安装-配置
- golang之web编程入门
- Golang入门-----安装配置篇
- 【EXE】关于病毒功能的简单剖析。
- StringBuffer和StringBuilder的区别
- spring security rember me
- APK反编译-[Android_YangKe]
- 【单调栈】51Nod 1423 最大二“货”
- golang CI 入门
- 数据结构之单链表的查找
- Python3.5+PyQt5.6环境搭建
- FFMPEG Qt视频播放器之SDL的使用
- 一碗“毒”鸡汤-[Android_YangKe]
- Java的IO流--DataInputStream和DateOutputStream
- 将wordpress同步到csdn
- 6.0 运行时权限解析~2-[Android_YangKe]
- 拓展KMP算法