《scope源码解析3——Makefile make啥?》

该Makefile一开头定义了12个“伪目标文件”

.PHONY: all deps static clean client-lint client-test client-sync backend frontend shell lint ui-upload

然后定义一大堆变量,接下来先执行

sudo -E docker build -t weaveworks/scope-backend-build backend
根据scope\backend目录下的Dockerfile文件来创建镜像,该镜像基于ubuntu。

接下来执行docker build -t weaveworks/scope-ui-build client,根据scope\client目录下的Dockerfile文件来创建另一个镜像。该镜像基于node.js。

接下来安装docker和weave.

curl -o .pkg/docker-1.13.1.tgz https://get.docker.com/builds/Linux/x86_64/docker-1.13.1.tgz

curl -L https://github.com/weaveworks/weave/releases/download/v1.9.0/weave -o docker/weave

之后启动weaveutil,创建weaveworks镜像。

docker run --rm  --entrypoint=cat weaveworks/weaveexec:1.9.0 /usr/bin/weaveutil > docker/weaveutil

docker build -t weaveworks/cloud-agent -f docker/Dockerfile.cloud-agent docker/

docker run --rm -ti \
        -v /root/scope:/go/src/github.com/weaveworks/scope \
        -v /root/scope/.pkg:/go/pkg \
        --net=host \
        -e GOARCH -e GOOS -e CIRCLECI -e CIRCLE_BUILD_NUM -e CIRCLE_NODE_TOTAL \
        -e CIRCLE_NODE_INDEX -e COVERDIR -e SLOW -e TESTDIRS \
        weaveworks/scope-backend-build SCOPE_VERSION=06bb515 GO_BUILD_INSTALL_DEPS=-i CODECGEN_UID=0 vendor/runsvinit/runsvinit

最后创建scope镜像

docker build -t weaveworks/scope -f docker/Dockerfile.scope docker/

这样就算make完了,当然由于国内网络众所周知的原因,可能会报如下错误。

package golang.org/x/tools/go/gcexportdata: unrecognized import path "golang.org/x/tools/go/gcexportdata" (https fetch: Get https://golang.org/x/tools/go/gcexportdata?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
package golang.org/x/tools/go/loader: unrecognized import path "golang.org/x/tools/go/loader" (https fetch: Get https://golang.org/x/tools/go/loader?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)

我是使用香港的阿里云机器编译通过的。

粗略的看了这个Makefile,我了解到scope\client这个文件夹主要是程序的ui部分,用react来实现的。而整个项目的启动程序是在scope\prog目录下。

接下来我就会分析下scope\prog下的main.go


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MXi4oyu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值