diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..f3c1e35 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,5 @@ +# .git directory is not filtered here: we need to copy the .git directory in the builder image to compute the version. +dist +medias +README.md +target diff --git a/.woodpecker/.deploy.yaml b/.woodpecker/.deploy.yaml new file mode 100644 index 0000000..4e446ff --- /dev/null +++ b/.woodpecker/.deploy.yaml @@ -0,0 +1,25 @@ +steps: + deploy: + image: euryecetelecom/woodpeckerci-kubernetes + settings: + kubernetes_server: + from_secret: kubernetes_server + kubernetes_token: + from_secret: kubernetes_token + kubernetes_cert: + from_secret: kubernetes_cert + namespace: bg92 + wait: true + wait_timeout: 60s + force: true + deployment: beau-gosse-du-92-web + repo: rg.fr-par.scw.cloud/asr-projects/beau-gosse-du-92-web + container: beau-gosse-du-92-web + tag: ${CI_COMMIT_SHA} + secrets: + - kubernetes_cert + - kubernetes_server + - kubernetes_token + +depends_on: + - dockerize diff --git a/.woodpecker/.dockerize.yaml b/.woodpecker/.dockerize.yaml new file mode 100644 index 0000000..d94b491 --- /dev/null +++ b/.woodpecker/.dockerize.yaml @@ -0,0 +1,14 @@ +# when: +# - branch: ${CI_REPO_DEFAULT_BRANCH} + +steps: + dockerize: + image: woodpeckerci/plugin-kaniko + settings: + registry: rg.fr-par.scw.cloud + repo: asr-projects/beau-gosse-du-92-web + tags: ${CI_COMMIT_SHA} + auto_tag: true + username: nologin + password: + from_secret: registry-password diff --git a/Dockerfile b/Dockerfile index 1b0b6e3..5b3fa2b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,18 +1,17 @@ FROM rust:latest AS builder +ARG JOBS_NB=${JOBS_NB:-default} + +# Disable incremental compilation +# Cf. https://doc.rust-lang.org/cargo/reference/profiles.html#incremental +ARG CARGO_INCREMENTAL=0 + WORKDIR /usr/src/beau-gosse-du-92 -RUN cargo install dioxus-cli +COPY . . -COPY Cargo.* . -COPY ./src ./src -COPY ./public ./public -COPY ./Dioxus.toml . -COPY ./build.rs . -COPY ./.cargo ./.cargo - -RUN ln -s ./public/index.html ./index.html \ - && dx build -r --platform web +RUN cargo install -j ${JOBS_NB} dioxus-cli +RUN dx build -r --platform web -- -j ${JOBS_NB} FROM nginx:mainline-alpine-slim