#######################################
FROM rust:1.60-bullseye as builder
# CARGO_HOME was defined by rust image
VOLUME $CARGO_HOME/registry /data
WORKDIR /data
COPY . ./
# 构建时没有注入外部环境变量,无法访问数据库,故:
#
# - 开启 SQLx 离线模式
# - 禁用集成测试,只做单元测试
#
ENV SQLX_OFFLINE=true
RUN set -eux; \
cargo test --lib; \
cargo install --root /usr/local --path .
#######################################
FROM buildpack-deps:bullseye-curl
COPY --from=builder \
/usr/local/bin/zpoint \
/usr/local/bin/
CMD ["zpoint"]