From 2d488404d477fb751ca512f6b313653f09de0200 Mon Sep 17 00:00:00 2001 From: Geoffrey Arthaud <geoffrey.arthaud@developpement-durable.gouv.fr> Date: Tue, 27 Feb 2024 23:58:20 +0100 Subject: [PATCH] Add Docker release from binary release --- .gitlab-ci.yml | 17 ++++++++++++++++- Dockerfile | 28 ++-------------------------- 2 files changed, 18 insertions(+), 27 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8a13499..efedc6e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,10 @@ stages: - build_test - release + - deploy + +include: + - remote: 'https://api.r2devops.io/job/r/gitlab/r2devops/hub/docker_build@latest.yaml' check-format: stage: build_test @@ -70,4 +74,15 @@ release-macos-x86: LDD_CMD: otool -L tags: - macos_mx - retry: 1 # First-time OpenSSL build will fail rust build \ No newline at end of file + retry: 1 # First-time OpenSSL build will fail rust build + +docker_build: + stage: deploy + variables: + COMMIT_CREATE_LATEST: "true" + IMAGE_TAG: "v1.19.2-debug" + retry: 2 + dependencies: + - release-linux + tags: + - buildonly \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index cac1487..41876be 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,26 +1,2 @@ -FROM rust:alpine as cargo-build - -RUN apk update -RUN apk add --no-cache openssl-dev musl-dev - -WORKDIR /home/rust/src -COPY ./Cargo.toml ./Cargo.toml -COPY ./Cargo.lock ./Cargo.lock -COPY ./src ./src -COPY ./i18n ./i18n -COPY ./i18n.toml ./i18n.toml -RUN rustup target add x86_64-unknown-linux-musl - -FROM cargo-build as release-dev -RUN cargo build --target x86_64-unknown-linux-musl -RUN cargo test - -FROM cargo-build as release-prod -RUN cargo build --target x86_64-unknown-linux-musl --release - -FROM alpine:latest as image-dev -COPY --from=release-dev /home/rust/src/target/x86_64-unknown-linux-musl/debug/gitlab-project-doctor /usr/local/bin -RUN gitlab-project-doctor --help - -FROM alpine:latest as image-prod -COPY --from=release-prod /home/rust/src/target/x86_64-unknown-linux-musl/release/gitlab-project-doctor /usr/local/bin +FROM alpine:latest +COPY ./target/x86_64-unknown-linux-musl/release/gitlab-project-doctor /usr/local/bin -- GitLab