feat(ci): introduce ci

This commit is contained in:
Andrea Toska 2025-03-06 09:50:48 +01:00
commit 235f1dfd6b
No known key found for this signature in database
GPG key ID: 5B3C83807CCBE9A2
2 changed files with 41 additions and 0 deletions

21
.gitlab-ci.yml Normal file
View file

@ -0,0 +1,21 @@
image: docker:latest
variables:
IMAGE_NAME: "ci.perditum.com/perditum/rnex-splatoon"
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:
- main

20
Dockerfile Normal file
View file

@ -0,0 +1,20 @@
FROM rust:1.85 AS builder
WORKDIR /app
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/splatoon-server-rust /app/splatoon-server-rust
# Set executable permissions
RUN chmod +x /app/splatoon-server-rust
# Command to run the application
CMD ["/app/splatoon-server-rust"]