ksaitoの日記

日々試したことの覚え書き

eksctlをコンパイルする

eksctlのソースをコンパイルしました。

golang 1.12以上の環境がなかったので、コンテナでやりました。

コンテナの準備

コンテナは、下記の通り準備しました。 golangのオフシャルコンテナには、makeやgitがインストールされているので、ほとんど手を加える必要はありませんでした。

$ cat Dockerfile 
FROM golang:1.12.6

RUN mkdir -p /root/.ssh \
 && chmod 700 /root/.ssh
RUN apt-get update && apt-get install -y \
    time \
 && apt-get -y autoremove && rm -rf /var/lib/apt/lists/*

WORKDIR /root
$ docker build -t golang-dev .

実行とビルド

ドキュメントに従って、実行します。

$ docker run -it --rm golang-dev bash
root@b97e7c15991d:~# cd src
root@b97e7c15991d:~/src# git clone https://github.com/weaveworks/eksctl.git
root@b97e7c15991d:~/src# cd eksctl/
root@b97e7c15991d:~/src/eksctl# make install-build-deps
...
root@b97e7c15991d:~/src/eksctl# make test
...
root@b97e7c15991d:~/src/eksctl# make eksctl
make: 'eksctl' is up to date.
root@b97e7c15991d:~/src/eksctl# ./eksctl version
[ℹ]  version.Info{BuiltAt:"1562335031", GitCommit:"0.1.34-294-g4041d65a", GitTag:""}
root@b97e7c15991d:~/src/eksctl#

コンパイルには、結構、時間がかかりました。