2020-04-26 (日)
古いGolangのプログラムを色々ビルドしてて,複数のバージョンのGoを使いたくなった.
最近のGoの対応するのも難しくはないのだろうけど,DepとかModule周りが時期によって色々違っていて調べるの面倒になってしまったので,goコマンドをDocker上で実行するスクリプトに置き換える.
#!/bin/sh -e GOOS=${GOOS:-linux} GO=golang:${GOVERSION:-1.14} CGO_ENABLED=${CGO_ENABLED:-0} DIR=`basename $PWD` mkdir -p $HOME/.go_docker docker run --rm -u `id -u`:`id -g` -v "$PWD:/host/$DIR" -v $HOME/.go_docker:/go -w "/host/$DIR" \ -e CGO_ENABLED=$CGO_ENABLED -e GOOS=$GOOS -e GOCACHE=/go/.cache -e GOPATH=/go $GO \ go "$@"
$ go version go version go1.14.2 linux/amd64 $ GOVERSION=1.12.5 go version go version go1.12.5 linux/amd64 $
https://github.com/kennyp/asdf-golang こういうのに頼るのもありな気がするけど,あんまり色々インストールしたくなかった.
* VPSのインスタンス作り直した
自分用のサービスを動かしてるVPSのインスタンス作り直す.未だにCentOS 6なのでEOLが迫ってるのと,最近のDockerがインストールできなくて不便だったので.
$ uptime 21:53:08 up 1063 days, 21:08, 1 user, load average: 0.03, 0.04, 0.00
最後に再起動したの3年前...放置しすぎ.
Ubuntuにするか少し考えたけど,いつの間にかCentOS 8が出てたので試しに使ってみる.最近は,ホスト上にはDockerとNginxとgitくらいしかインストールしないようにしてるので,ディストリビューションは何でも良いのだけど.
Docker上で動いてるものは移すの楽だけど,昔作ったやつは移行するのがめんどい.Dockerfile書いたり,Rubyで書かれたスクリプトをGolangで書き直したりしてたら1日終わった.
ちゃんと動かないと,マンションの自動ドアが開かなくなったりエアコンつかなくなったり,銀行口座が凍結されたりするので怖いけど,一旦大丈夫そう.温度計とかがDNSの設定変えても古いサーバにアクセスしてくるので,一旦プロキシしておく.
よく考えたら,binzume.netを動かしてるサーバもCentOS 6だ...これは後でやろう.