Gitlab-CI自动化构建内网Go应用程序

使用Gitlab-CI自动化构建内网Go应用程序,将面临以下的挑战:

  • 大型项目中通常使用 go modules 进行管理
  • go.xin****ech.cn 表示内部的GO包管理地址,类似于 http://go.uber.org/ 的站点
  • gitlab.x**i.cn 表示内部的gitlab仓库地址
  • go.xin****ech.cn/xws**/**-service-mgr 表示内部gitlab的其中的project地址

其中,一个比较大的麻烦在于,如何让被编译的应用程序,安全的访问到gitlab,下载处于内网环境的go modules依赖。

……

阅读全文

Go程序添加编译和版本号信息

如题,这是我常在在项目中使用到的Makefile和main.go文件,在程序执行的时候就可以知道git commitversionbuilt time,方便版本管理和更新迭代,以及问题排查。

……

阅读全文

移除Go Import中的多余空白行

使用如下命令: gsed -i '/import (/, /)$/{/^$/d}' $(find . -type f -name '*.go') && goimports -w . gsed 即gunsed,goimports是格式化工具,如果没有安装,可以使用 brew install gnu-sed 进行安装。 达成效果如下: ……

阅读全文

定制boot2docker.iso的内核镜像

前段使用使用boot2docker.iso来制作一个超级精简的、带有docker环境的虚拟机。 最近又来的新的需要,需要在虚拟机上安装pptpd相关的服务,发现docker pull回来的pptpd相关的镜像,都拉不起来。

大致提示的错误:

Couldn't open the /dev/ppp device: No such device or address
Please load the ppp_generic kernel module.
……

阅读全文