diff --git a/Dockerfile.deb b/Dockerfile.deb new file mode 100644 index 0000000000000000000000000000000000000000..353352bae7662764a575a155d2dec3d447a12f7d --- /dev/null +++ b/Dockerfile.deb @@ -0,0 +1,17 @@ +# build based on debian buster to build debian package +FROM rust:slim-buster +WORKDIR /app +RUN --mount=type=cache,target=/root/.cargo \ + cargo install cargo-deb +COPY Cargo.toml Cargo.lock ./ +RUN --mount=type=cache,target=/app/target \ + --mount=type=cache,target=/root/.cargo/registry \ + mkdir src \ + && echo "fn main() {}" > src/main.rs \ + && cargo build --release \ + && rm -r src +COPY ./res ./res +COPY ./src ./src +RUN cargo build --release +RUN cargo deb --no-build +RUN rm -r /app/target/release \ No newline at end of file diff --git a/docker/build.sh b/docker/build.sh index a327c021f0476ae165cd5cd5ec73263e42ff33fc..a46e5c3acd48d1f977025b9f615e6b9a1bb4ba4d 100755 --- a/docker/build.sh +++ b/docker/build.sh @@ -1,15 +1,5 @@ -#!/bin/bash +#!/bin/sh -# Also generated by chatGPT - -# Name of your Docker image -IMAGE_NAME="gcli" - -# Version of your Docker image -IMAGE_VERSION="latest" - -# Build and tag the Docker image using Docker Buildx -docker buildx build -t "$IMAGE_NAME:$IMAGE_VERSION" . - -# Optionally, you can push the image to a Docker registry -# docker push "$IMAGE_NAME:$IMAGE_VERSION" +IMAGE_NAME=gcli +IMAGE_VERSION=latest +docker buildx build -t $IMAGE_NAME:$IMAGE_VERSION . diff --git a/docker/debian.sh b/docker/debian.sh new file mode 100755 index 0000000000000000000000000000000000000000..928f9c7d0d149eaf6cdb2a5bccbc1b25696e570a --- /dev/null +++ b/docker/debian.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +# build debian package +VERSION=0.2.10-1 +IMAGE_NAME=gcli_deb +IMAGE_VERSION=latest +docker buildx build -f Dockerfile.deb -t $IMAGE_NAME:$IMAGE_VERSION . + +mkdir -p ./target/debian +id=$(docker create $IMAGE_NAME:$IMAGE_VERSION) +docker cp $id:/app/target/debian/gcli_${VERSION}_amd64.deb ./target/debian +docker rm -v $id \ No newline at end of file