feat(ci): add ci

This commit is contained in:
DJMrTV 2025-03-05 23:20:11 +01:00
commit 75f6f0b763
2 changed files with 48 additions and 0 deletions

22
.gitlab-ci.yml Normal file
View file

@ -0,0 +1,22 @@
image: docker:latest
variables:
IMAGE_NAME: "ci.perditum.com/perditum/account"
IMAGE_TAG: "${CI_COMMIT_REF_SLUG}"
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" ci.perditum.com
stages:
- build-and-push
build-and-push:
stage: build-and-push
script:
- docker build -t "$IMAGE_NAME:$IMAGE_TAG" .
- docker tag "$IMAGE_NAME:$IMAGE_TAG" "$IMAGE_NAME:latest"
- docker push "$IMAGE_NAME:$IMAGE_TAG"
- docker push "$IMAGE_NAME:latest"
only:
- master

26
Dockerfile Normal file
View file

@ -0,0 +1,26 @@
FROM rust:1.85 as builder
WORKDIR /app
# this looks like being stupid, but docker cache is FIRE once you do this
COPY Cargo.toml Cargo.lock ./
RUN mkdir src && echo "fn main() {}" > src/main.rs && cargo fetch
# there's the beauty
COPY . .
RUN cargo build --release
FROM rust:1.85 AS final
WORKDIR /app
# Copy the compiled binary from the builder stage
COPY --from=builder /app/target/release/account /app/account
# Set executable permissions
RUN chmod +x /app/eshop-rs
# Command to run the application
CMD ["ls /app"]
CMD ["/app/account"]