在 Go 语言项目中使用 Docker

容器(Container) 将程序及其所需的任何内容捆绑在一起,包括依赖项、工具和配置文件等等。这样使得程序不受环境的干扰,真正意义上做到开发环境和生成环境完全一致。

而 Docker 在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。与传统虚拟机相比,Docker 也有许多优点,如:更高效的系统资源利用和更快速的启动时间。

在本文中,通过一个简单的 Go 语言项目,您将学习如何在 Go 语言项目中使用 Docker。

在 Go 语言项目中使用 Travis CI

Travis CI 是一种免费的持续集成服务,而 持续集成(CI, Continuous integration) 是一种软件工程流程,概括来讲就是多提交小的 Commit 来更快的发现软件的 Bug,从而提高软件质量。

本文会详细介绍如何在 Go 语言项目中使用 Travis CI。

Go Modules 详解

Go 1.11 和 Go 1.12 包含了初步的 Go Modules 支持,且计划在 2019 年 8 月发布的 Go 1.13 会在所有开发过程中默认使用 Go Modules。

Go Modules 是为了提升使用其他开发者代码,即添加 依赖项(模块、包) 时的体验,也是为了让代码的正确性、安全性得到保障。并且 Go Modules 可以使用 GOPROXY 环境变量来解决中国大陆无法使用 go get 的问题。

所以学习跟 Go Modules 有关的知识是很有必要的。

部署 Hugo 网站到 Netlify

Netlify 是什么?它是一家云计算公司,为静态网站提供托管和 serverless 后端服务。

关键在于,与 GitHub 相比,Netlify 托管的网站速度更快,也更稳定。

本文就来介绍如何部署一个 Hugo 网站到 Netlify 和一些额外设置。