1

基于Docker的自动构建

 2 years ago
source link: https://z-rui.github.io/post/2015/07/wercker/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

基于Docker的自动构建

Mon Jul 6, 2015

Wercker现在支持基于Docker的自动部署。我不是很清楚Docker的运作原理。就我现在的理解,Docker是一个虚拟机快照,其中已经配置好了用户所需要的软件。每次运行时,就是解包这个虚拟机然后执行任务。

之前因为ArjenSchwarz/wercker-step-hugo-build这个脚本不支持基于Docker的自动构建,所以我还在使用Wercker的旧的构建模式。

问题在于,在目前基于Docker的构建模式中,默认的虚拟机debian只是一个空壳,像git和wget这样的软件统统都没有安装。

在构建的时候,脚本需要使用wget下载hugo程序。我曾试过在构建之前执行

apt-get -y install wget

但是似乎找不到这个软件包。今天我发现构建脚本更新了,不知道作者是不是也遇到了同样的问题,所以改而使用curl。

我还需要安装git。这个过程会下载很多软件包并安装。构建的时候做一次,部署的时候又做一次,浪费时间和计算资源,我觉得很不合理。

我觉得合理的做法是,在Docker的虚拟机中预先安装好git和hugo,这样每次构建的时候只需解包虚拟机并且运行就可以了,并不需要安装额外的软件包。只是我现在还不知道怎样实现这样的Docker功能。

目前最好的结果是,我找到了yesops/git这个Docker,其中已经安装好了git和curl。这样我就不用再去劳烦apt-get了,应该可以省去不少重复劳动,虽然不是人力劳动而是自动化的机器劳动。



About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK