use docker as build system
All checks were successful
ci/woodpecker/push/build-and-publish Pipeline was successful
All checks were successful
ci/woodpecker/push/build-and-publish Pipeline was successful
This commit is contained in:
parent
4295e93134
commit
b853ed3e98
2 changed files with 11 additions and 27 deletions
|
@ -3,26 +3,6 @@ when:
|
||||||
branch: main
|
branch: main
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build-x86_64
|
|
||||||
image: rust:bookworm
|
|
||||||
commands:
|
|
||||||
- cargo build --release
|
|
||||||
- cp target/release/backend target/backend-amd64
|
|
||||||
- name: build-arm64
|
|
||||||
image: rust:bookworm
|
|
||||||
commands:
|
|
||||||
- install -m 0755 -d /etc/apt/keyrings
|
|
||||||
- curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
|
|
||||||
- chmod a+r /etc/apt/keyrings/docker.asc
|
|
||||||
- echo \
|
|
||||||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
|
|
||||||
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" > /etc/apt/sources.list.d/docker.list
|
|
||||||
- apt-get update && apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
|
||||||
- CROSS_CONTAINER_IN_CONTAINER=true cargo install -f cross
|
|
||||||
- CROSS_CONTAINER_IN_CONTAINER=true cross build --target=aarch64-unknown-linux-gnu --release
|
|
||||||
- cp target/aarch64-unknown-linux/release/backend target/backend-arm64
|
|
||||||
volumes:
|
|
||||||
- /var/run/podman/podman.sock:/var/run/docker.sock
|
|
||||||
- name: container-build-and-publish
|
- name: container-build-and-publish
|
||||||
image: docker
|
image: docker
|
||||||
commands:
|
commands:
|
||||||
|
@ -32,4 +12,4 @@ steps:
|
||||||
PASSWORD:
|
PASSWORD:
|
||||||
from_secret: docker_password
|
from_secret: docker_password
|
||||||
volumes:
|
volumes:
|
||||||
- /var/run/podman/podman.sock:/var/run/docker.sock
|
- /var/run/podman/podman.sock:/var/run/docker.sock
|
||||||
|
|
16
Dockerfile
16
Dockerfile
|
@ -1,8 +1,16 @@
|
||||||
|
FROM rust:bookworm AS builder
|
||||||
|
|
||||||
|
WORKDIR /src
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
RUN cargo build --release
|
||||||
|
|
||||||
FROM debian:12-slim
|
FROM debian:12-slim
|
||||||
|
|
||||||
RUN apt update && apt install libssl3 && rm -rf /var/lib/apt/lists/* /var/cache/apt/* /tmp/*
|
RUN apt update && apt install libssl3 && rm -rf /var/lib/apt/lists/* /var/cache/apt/* /tmp/*
|
||||||
|
|
||||||
COPY target/release/backend-${TARGETARCH} /usr/bin/gorb-backend
|
COPY --from=builder /src/target/release/backend /usr/bin/gorb-backend
|
||||||
|
|
||||||
COPY entrypoint.sh /usr/bin/entrypoint.sh
|
COPY entrypoint.sh /usr/bin/entrypoint.sh
|
||||||
|
|
||||||
|
@ -10,10 +18,6 @@ RUN useradd --create-home --home-dir /gorb gorb
|
||||||
|
|
||||||
USER gorb
|
USER gorb
|
||||||
|
|
||||||
ENV DATABASE_USERNAME="gorb"
|
ENV DATABASE_USERNAME="gorb" DATABASE_PASSWORD="gorb" DATABASE="gorb" DATABASE_HOST="localhost" DATABASE_PORT="5432"
|
||||||
ENV DATABASE_PASSWORD="gorb"
|
|
||||||
ENV DATABASE="gorb"
|
|
||||||
ENV DATABASE_HOST="localhost"
|
|
||||||
ENV DATABASE_PORT="5432"
|
|
||||||
|
|
||||||
ENTRYPOINT ["/usr/bin/entrypoint.sh"]
|
ENTRYPOINT ["/usr/bin/entrypoint.sh"]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue