持续集成听起来好高大上,其实就是你写了什么代码,他就立马给你同步上去,然后根据你的要求,编译测试.其中这个工具中,最出名大概就是Travis CI了,本文就是快速入门,大多数东西介绍还不够详细,后续再说,但是只靠本文就能干很多活了,对,就一篇!
注意1:Travis CI不是完全免费的服务,其前100个私有构建是免费的,后续就要进行付费,如果你的项目是公开repo,或者你是学生,则不受限制.
注意2:Travis CI以GitHub支持为主,所以有一个GitHub仓库很重要,最好还带SSH Key配置的,不然每次输入密码多麻烦啊.
注意3:Travis CI需要吃相对应的YAML脚本,需要先登录https://travis-ci.com进行授权操作,现在就可以做.
首先,创建一个最简单的repo,就两个文件(.travis.yml 和 hello.c)
建议自己打一遍熟悉一下~
把这几个文件提交到GitHub,这就触发自动构建了.这时候打开https://travis-ci.com/的控制面板,就能看到构建过程/构建完成了.
说明,程序是可以编译的,编译通过的,构建能完成的,这次名为[初次构建]的提交,是有效的.到这里,你至少学会了3成了.
接下来你可以修改C文件,让他编译失败,反复体验,然后继续.
我们尝试构建一个复杂一些的项目,需要指定系统,还要安装库.Travis CI语法很多,但是实际上用得到的并不多.
.travis.yml 范例:
language: c dist: bionic sudo: required install: - sudo apt update - sudo apt-get install -y libcurl4-openssl-dev script: - gcc hello.c -o hello -lcurl - ./hello
hello.c 范例:
#include <stdio.h> #include <curl/curl.h> int main(void) { CURL *curl; CURLcode res; curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://myip.ipip.net/"); res = curl_easy_perform(curl); if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s ", curl_easy_strerror(res)); curl_easy_cleanup(curl); } return 0; }
这个范例规定了系统是Ubuntu 18.04,需要安装libcurl的库,而且还运行了一下.到这里,你至少学会了5成了,到这里,本教程就结束了.
剩下的知识点,大概就是:
- 构建流程,基本就是install => script,但是还有很多其他流程.
- 支持语言:Android,C,C#,C++,Go.Java,Node,JS,PHP,Python,R,Ruby,Rustd 等等.
- 支持部署:可以理解成持续发布新版本,类似构建每日更新版那种,发布到S3储存桶之类的.
- 支持其他环境:Ubuntu / Windows / Mac,而且可以人为设置,默认是Ubuntu 16.04,也可以多系统构建.
构建环境具体配置: