Added Dockerfile and tests.

Signed-off-by: Pavel Kirilin <win10@list.ru>
This commit is contained in:
2023-02-20 01:48:25 +04:00
parent faae5e4898
commit 70224f337a
2 changed files with 47 additions and 3 deletions

View File

@ -8,10 +8,30 @@
stages: stages:
- test - test
sast: .test-template:
tags: tags:
- kube - kube
image: rust:1.67.1-buster
stage: test stage: test
interruptible: true
before_script:
- apt update
- apt install -y python3 python3-pip
- pip3 install pre-commit
include: app-tests:
- template: Security/SAST.gitlab-ci.yml extends: .test-template
script:
- cargo test
clippy:
extends: .test-template
script:
- rustup component add clippy
- pre-commit run clippy -av
fmt:
extends: .test-template
script:
- rustup component add rustfmt
- pre-commit run fmt -av

24
Dockerfile Normal file
View File

@ -0,0 +1,24 @@
FROM rust:1.67.1-alpine3.17 as builder
WORKDIR /app
COPY Cargo.toml Cargo.lock ./
COPY src ./src
RUN cargo build --release --all-features
FROM debian:bullseye-20230109-slim as base
RUN apt-get update \
&& apt-get install -y openssl ca-certificates \
&& rm -rf /var/lib/apt/lists/*
COPY static ./static
COPY --from=builder /app/target/release/s3bot /usr/local/bin/
ENTRYPOINT ["/usr/local/bin/s3bot"]
FROM base as rootless
RUN useradd --create-home -u 1000 --user-group s3bot
WORKDIR /home/s3bot
USER s3bot