代码拉取完成,页面将自动刷新
阿里云DDNS定时更新Golang版。 golang交叉编译跨平台可执行程序,一键运行,部署使用方便。已提供windows,linux,mac系统64位可执行程序,见release。
2020年1月21日
2020年1月22日
https://gitee.com/dwxdfhx/aliyunDDns
管理首页
管理定时任务
系统启动日志
更新A记录IP日志
项目下载依赖
go mod download
go mod vendor
(idea识别;交叉编译使用.)
资源文件打包
资源目录打包data.go
gf pack config,public,template boot/data.go -n boot
交叉编译
gf build main.go
因为使用了sqlite,上面命令打包出来不可用。需要配合下面的xgo进行交叉编译
linux环境或windows环境下都可以,这里使用虚拟机里的centos6.5,在虚拟机里配置好git,
git ssh,docker,golang ,go mod 代理。
export GOPROXY=https://goproxy.io
使用xgo交叉编译:
3.1 项目安装依赖
go get github.com/karalabe/xgo
3.2 安装docker镜像
docker pull karalabe/xgo-latest
3.3 mkdir -p /go/src
把需要交叉编译的工程移到/go/src下,以后交叉编译的工程都放在该目录下
3.4 执行下面命令
cd /go/src/交叉编译的项目
go mod download
go mod vendor
#进入容器
docker run -it --entrypoint /bin/bash karalabe/xgo-latest
docker run --rm -it -v "$PWD"/runapp:/build -v "$PWD"/vendor:/go/src -v "$PWD":/go/src/AliYunDns \
-e TARGETS=windows/amd64 karalabe/xgo-latest AliYunDns
docker run --rm -it -v "$PWD"/runapp:/build -v "$PWD"/vendor:/go/src -v "$PWD":/go/src/AliYunDns \
-e TARGETS=linux/amd64 karalabe/xgo-latest AliYunDns
#docker知识补充:
# -v 意思: /test:/soft 本地/tect目录作为容器的/soft目录
# -e 给容器传递变量参数 变量前是 --
# --rm 容器退出时候清理挂在目录下内容
# -it 进入了命令交互界面
#交叉编译平台版本知识补充
#amd64 和 i386 是什么意思?
# 可以直接理解为amd64为64位系统,i386为32位系统.因为是amd把64位率先引进桌面系统的,英特尔也是要追随amd并且保持兼容,
# 一般在软件包里包含这样的字符。(直接一直以为amd64表示是amd处理器才能用...)
#TARGETS=windows/amd64,darwin/amd64,linux/amd64 可以简化编译,提高编译速度
#TARGETS=windows/*,darwin/*,linux/*
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。