树莓派上安装Go
直接上面下载安装对应的linux-arm版的Go http://golang.org/dl
创建文件 ~/.bash_profile
将GOPATH, GOROOT这些环境变量的配置写到里面去
设置构建脚本
文件名 build.sh
#!/bin/bash -
#
set -e
set -o pipefail
cd $(dirname $0)
source "$HOME/.bash_profile"
export GOPATH=$GOPATH:/home/pi/build_tmp
# go generate
exec go build "$@"
设置远程执行命令
- 先弄好ssh信任关系
- 机器上把rsync安装上
sudo apt-get install rsync
创建文件 build_remote.sh
#!/bin/bash -
#
set -e
TARGET=build_tmp/src/github.com/codeskyblue/gosuv
HOST="pi3-0"
NAME="gosuv"
ssh pi@$HOST mkdir -p $TARGET
rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress \
--exclude $NAME --exclude dist --exclude .git \
--delete \
. pi@$HOST:$TARGET
echo "Build remotely ..."
ssh pi@$HOST bash $TARGET/build.sh
echo "Build finished, copying ..."
scp pi@$HOST:$TARGET/$NAME ./dist/$NAME-linux-arm
echo "All finished"
创建一个目录dist
用来保存编译后的文件。
这样直接在机器上执行 sh build_remote.sh
就可以直接获取到远程编译的二进制文件了 ^_^
2017/03/21 by codeskyblue