- Create db-migrate binary that runs all .up.sql migration files - Add Dockerfile.migrate for building the migration image - Add migration job to Woodpecker CI pipeline - Image will be pushed to registry.nxtgauge.com:5000/nxtgauge-db-migrate
22 lines
558 B
Text
22 lines
558 B
Text
FROM rust:1.75-alpine AS builder
|
|
|
|
WORKDIR /app
|
|
|
|
RUN apk add --no-cache musl-dev pkgconfig openssl-dev
|
|
|
|
COPY Cargo.toml Cargo.lock ./
|
|
COPY crates/db-migrate ./crates/db-migrate
|
|
COPY crates/db ./crates/db
|
|
COPY crates/cache ./crates/cache
|
|
COPY crates/email ./crates/email
|
|
|
|
WORKDIR /app/crates/db-migrate
|
|
RUN cargo build --release --bin db-migrate
|
|
|
|
FROM alpine:3.19
|
|
RUN apk add --no-cache ca-certificates libpq
|
|
|
|
COPY --from=builder /app/crates/db-migrate/target/release/db-migrate /usr/local/bin/
|
|
COPY crates/db/migrations /migrations
|
|
|
|
ENTRYPOINT ["db-migrate"]
|