大佬教程收集整理的这篇文章主要介绍了为容器化的 Go 程序搭建 CI,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
,或者直接到 进行学习。说明:本文的演示环境为 ubuntu 16.04。
下载该程序。
func getNameLen(name <span style="color: #0000ff">string) <span style="color: #0000ff">int<span style="color: #000000"> {
<span style="color: #0000ff">return<span style="color: #000000"> len(name)
}
func sayHello(w http.ResponseWriter,r *<span style="color: #000000">http.Request) {
message :=<span style="color: #000000"> r.URL.Path
message = strings.TrimPrefix(message,<span style="color: #800000">"<span style="color: #800000">/<span style="color: #800000">"<span style="color: #000000">)
message = <span style="color: #800000">"<span style="color: #800000">Hello <span style="color: #800000">" + message + <span style="color: #800000">"<span style="color: #800000"> : <span style="color: #800000">" + fmt.Sprintf(<span style="color: #800000">"<span style="color: #800000">%d<span style="color: #800000">"<span style="color: #000000">,getNameLen(message))
w.Write([]<span style="color: #0000ff">byte<span style="color: #000000">(message))
}
func main() {
http.HandleFunc(<span style="color: #800000">"<span style="color: #800000">/<span style="color: #800000">"<span style="color: #000000">,sayHello)
<span style="color: #0000ff">if err := http.ListenAndServe(<span style="color: #800000">"<span style="color: #800000">:8088<span style="color: #800000">",nil); err !=<span style="color: #000000"> nil {
panic(err)
}
}
func Test_GetNameLen_1(t *<span style="color: #000000">testing.T) {
<span style="color: #0000ff">if l := getNameLen(<span style="color: #800000">"<span style="color: #800000">nick<span style="color: #800000">"); l != <span style="color: #800080">4<span style="color: #000000"> {
t.Error(<span style="color: #800000">"<span style="color: #800000">test failed,the length of nick is not correct.<span style="color: #800000">"<span style="color: #000000">)
} <span style="color: #0000ff">else<span style="color: #000000"> {
t.Log(<span style="color: #800000">"<span style="color: #800000">test passed.<span style="color: #800000">"<span style="color: #000000">)
}
}
func Test_GetNameLen_2(t *<span style="color: #000000">testing.T) {
<span style="color: #0000ff">if l := getNameLen(<span style="color: #800000">""); l != <span style="color: #800080">0<span style="color: #000000"> {
t.Error(<span style="color: #800000">"<span style="color: #800000">test failed,the length of empty string is not correct.<span style="color: #800000">"<span style="color: #000000">)
} <span style="color: #0000ff">else<span style="color: #000000"> {
t.Log(<span style="color: #800000">"<span style="color: #800000">test passed.<span style="color: #800000">"<span style="color: #000000">)
}
}
exit ${status}
<span style="color: #0000ff">if [ ! -z <span style="color: #800000">"<span style="color: #800000">$(docker images -q --filter 'dangling=true')<span style="color: #800000">" ]; <span style="color: #0000ff">then<span style="color: #000000">
docker rmi $(docker images -q --filter <span style="color: #800000">"<span style="color: #800000">dangling=true<span style="color: #800000">"<span style="color: #000000">)
<span style="color: #0000ff">fi
<span style="color: #0000ff">if [ -n <span style="color: #800000">"<span style="color: #800000">$(docker ps -aq -f name=nickwebdemo)<span style="color: #800000">" ]; <span style="color: #0000ff">then<span style="color: #000000">
docker <span style="color: #0000ff">rm -<span style="color: #000000">f nickwebdemo
<span style="color: #0000ff">fi<span style="color: #000000">
docker run -<span style="color: #000000">d \
-p <span style="color: #800080">8088:<span style="color: #800080">8088<span style="color: #000000"> \
--<span style="color: #000000">name nickwebdemo \
--restart=<span style="color: #000000">always \
gowebdemo
以上是大佬教程为你收集整理的为容器化的 Go 程序搭建 CI全部内容,希望文章能够帮你解决为容器化的 Go 程序搭建 CI所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。