天天看点

云上持续交付实践系列2--- go篇

go 作为一门google 开发的语言最近是越来越火了,其具备清晰、并行、安全等优点。当下非常流行的docker就是用go 语言的编写的。阿里云持续交付平台最近推出了多语言编译的支持,其中就包括go。本文就拿github 上开源的纯go 语言项目gogits/gogs 来小尝牛刀。

云上持续交付实践系列2--- go篇

这个工作流配置了代码检出和部署两个节点关联我们在阿里云code 上的代码库,其中代码检出包含了代码更新和编译两个任务。

其中编译任务选择了go1.6版本,编译命令如下:

关于编译命令

go语言的编译环境提供了两个环境变量可以在命令行中使用:

由于该项目中使用了golang.org 上面的一些依赖包,然而国内对于这些包的访问受限(你懂的)。

我们可以通过使用github 上对应的包来替换掉。这个项目中需要使用到的主要是crypto、net 、text

三个包

关于产出物路径:

关于部署命令:

云上持续交付实践系列2--- go篇

在部署节点中,我们选择了手动部署,填写ip地址以及重启命令:

其中restart.sh 为重启脚本,其中的命令:

配置完工作流后,点击触发生成工作流实例并点击相应按钮完成部署后,

云上持续交付实践系列2--- go篇

这时候我们就可以在部署机器上看到我们部署完成的页面了:

云上持续交付实践系列2--- go篇

后话:

目前的每次编译下载依赖包速度较慢,后面平台会考虑加速的方案,同样会解决国外某些网络不通的结果。