14 个版本
0.2.11 | 2020年11月15日 |
---|---|
0.2.10 | 2020年11月15日 |
0.2.9 | 2020年9月26日 |
0.1.1 | 2020年9月13日 |
#17 在 #zeromq
每月 42 次下载
8MB
774 行
rust-ds1090
dump1090 至 ZeroMQ 数据流桥接器
Docker 镜像: hub.docker.com/r/jonikahara/ds1090
测试
cargo test
cargo fuzz run fuzz_target_parse_message
Docker
为了进行更可控的部署并消除“在我的电脑上能工作”的综合征,我们始终确保我们的软件在 Docker 下也能运行。
这也是快速开始使用标准开发环境的一种方法。
SSH 代理转发
我们需要 buildkit
export DOCKER_BUILDKIT=1
并且将代理转发到运行实例的确切方式在 OSX 和 Linux 上是不同的
export DOCKER_SSHAGENT="-v /run/host-services/ssh-auth.sock:/run/host-services/ssh-auth.sock -e SSH_AUTH_SOCK=/run/host-services/ssh-auth.sock"
和 Linux
export DOCKER_SSHAGENT="-v $SSH_AUTH_SOCK:$SSH_AUTH_SOCK -e SSH_AUTH_SOCK"
创建开发容器
构建镜像,创建容器并启动它(将 1234 端口切换为 src/defaultconfig.rs 中的端口)
docker build --ssh default --target devel_shell -t ds1090:devel_shell .
docker create --name ds1090_devel -p 1234:1234 -v `pwd`":/app" -it -v /tmp:/tmp `echo $DOCKER_SSHAGENT` ds1090:devel_shell
docker start -i ds1090_devel
pre-commit 考虑事项
如果你在 Docker 中而不是本地环境中工作,你需要在 Docker 中运行 pre-commit 检查
docker exec -i ds1090_devel /bin/bash -c "pre-commit install"
docker exec -i ds1090_devel /bin/bash -c "pre-commit run --all-files"
你需要有一个正在运行的容器,请参阅上面。或者,你也可以使用 docker run 语法,但使用正在运行的容器会更快
docker run --rm -v `pwd`":/app" ds1090:devel_shell -c "pre-commit run --all-files"
测试套件
你可以在开发时使用 devel shell 运行 py.test,对于 CI,请使用 Dockerfile 中的 "test" 目标
docker build --ssh default --target test -t ds1090:test .
docker run --rm -v `pwd`":/app" `echo $DOCKER_SSHAGENT` ds1090:test
生产 Docker
还有一个 "生产" 目标可以运行应用程序(更改 "1234" 端口和 "myconfig.toml" 配置文件)
docker build --ssh default --target production -t ds1090:latest .
docker run --name ds1090 -v myconfig.toml:/app/docker_config.toml -p 1234:1234 -it -v /tmp:/tmp `echo $DOCKER_SSHAGENT` ds1090:latest
本地开发
待办事项:在完成操作后,请从文档中删除 repo init
TLDR
-
初始化您的仓库(首先在线创建并记录远程 URI)
git init git add . git commit -m 'Cookiecutter stubs' git remote add origin MYREPOURI git push origin master
-
切换到分支
git checkout -b my_branch
-
确保您已安装 pre-commit 和 bump2version:pip3 install pre-commit bump2version
-
确保您已安装 cargo:https://doc.rust-lang.net.cn/cargo/getting-started/installation.html
-
安装项目依赖和 pre-commit 钩子
cargo build pre-commit install pre-commit run --all-files
-
准备就绪,尝试以下操作
cargo run --bin ds1090 -- --defaultconfig >config.toml cargo run --bin ds1090 -- -vvv config.toml
在开发过程中定期运行 "pre-commit run --all-files" 和 "cargo test",特别是在提交之前,这将为您节省一些麻烦。
依赖关系
~13MB
~203K SLoC