File tree Expand file tree Collapse file tree 6 files changed +29
-11
lines changed Expand file tree Collapse file tree 6 files changed +29
-11
lines changed Original file line number Diff line number Diff line change 1
- FROM ubuntu :latest as rustenv
1
+ FROM debian :latest as rustenv
2
2
3
3
ARG IS_LOCAL=0
4
4
ARG VERSION=main
Original file line number Diff line number Diff line change 8
8
9
9
FROM alpine:latest as builder
10
10
11
- RUN apk add rust
12
- RUN apk add cargo
11
+ RUN apk add gcc
12
+ RUN apk add libgcc
13
+ RUN apk add musl-dev
13
14
RUN apk add openssl
14
15
RUN apk add openssl-dev
16
+ RUN apk add curl
17
+
18
+ RUN curl -sSL sh.rustup.rs >/usr/local/bin/rustup-dl && chmod +x /usr/local/bin/rustup-dl && /usr/local/bin/rustup-dl -y --default-toolchain stable
15
19
16
20
COPY . /zeronsd
17
21
WORKDIR /zeronsd
18
22
19
- RUN cargo install --path .
23
+ ENV PATH=/root/.cargo/bin:${PATH}
24
+ RUN . /root/.cargo/env && cargo install --path .
20
25
21
26
FROM alpine:latest
22
27
Original file line number Diff line number Diff line change 1
- FROM rust
1
+ FROM debian:latest as rustenv
2
2
3
- RUN cargo install cargo-deb cargo-generate-rpm
3
+ RUN apt-get update -qq && apt-get install curl pkg-config build-essential libssl1.1 ca-certificates -y && apt-get autoclean -y && apt-get clean -y
4
+ RUN curl -sSL sh.rustup.rs >/usr/local/bin/rustup-dl && chmod +x /usr/local/bin/rustup-dl && /usr/local/bin/rustup-dl -y --default-toolchain stable
5
+
6
+ FROM rustenv as buildenv
7
+
8
+ RUN . /root/.cargo/env && cargo install cargo-deb cargo-generate-rpm
Original file line number Diff line number Diff line change
1
+ # vim: ft=dockerfile
2
+ FROM redhat/ubi8
3
+
4
+ RUN dnf install openssl-devel gcc -y
5
+ RUN curl -sSL sh.rustup.rs >/tmp/rustup.sh && bash /tmp/rustup.sh -y
6
+ ENV PATH=${PATH}:${HOME}/.cargo/bin
7
+ RUN . /root/.cargo/env && cargo install cargo-generate-rpm
Original file line number Diff line number Diff line change @@ -40,10 +40,12 @@ docker-image-push: docker-image-package
40
40
packages :
41
41
make docker-image-package
42
42
mkdir -p target/packages
43
+ docker build -f Dockerfile.ubi -t zeronsd-packages-ubi .
44
+ docker run -it -v ${PWD} :/code -w /code --rm zeronsd-packages-ubi bash -c " . /root/.cargo/env && cargo build --release && cargo generate-rpm && mv /code/target/generate-rpm/*.rpm /code/target/packages"
43
45
docker build -f Dockerfile.ubuntu -t zeronsd-packages-ubuntu .
44
46
docker run -it -v ${PWD} :/code -w /code --rm zeronsd-packages-ubuntu bash -c " cargo deb --deb-version ${CARGO_VERSION} -ubuntu22 && mv /code/target/debian/*.deb /code/target/packages"
45
47
docker build -f Dockerfile.packages -t zeronsd-packages .
46
- docker run -it -v ${PWD} :/code -w /code --rm zeronsd-packages bash -c " cargo deb && cargo-generate-rpm && mv /code/target/debian/*.deb /code/target/generate-rpm/*.rpm /code/target/ packages "
48
+ docker run -it -v ${PWD} :/code -w /code --rm zeronsd-packages bash -c " . /root/. cargo/env && cargo deb && mv /code/target/debian/*.deb /code/target/packages"
47
49
make packages-out
48
50
49
51
packages-out :
61
63
sudo rm -rf target
62
64
cargo clean
63
65
64
- test-packages : clean
65
- make packages
66
- docker run -v ${PWD} :/code --rm -it centos rpm -ivh /code/target/packages/\* .rpm
66
+ test-packages : clean packages
67
+ docker run -v ${PWD} :/code --rm -it redhat/ubi8 bash -c " rpm -ivh /code/target/packages/\*.rpm"
67
68
docker run -v ${PWD} :/code --rm -it debian:latest bash -c " apt update -qq && apt install libssl1.1 && dpkg -i /code/target/packages/zeronsd_${CARGO_VERSION} _amd64.deb"
68
69
docker run -v ${PWD} :/code --rm -it ubuntu:focal bash -c " apt update -qq && apt install libssl1.1 && dpkg -i /code/target/packages/zeronsd_${CARGO_VERSION} _amd64.deb"
69
70
docker run -v ${PWD} :/code --rm -it ubuntu:jammy bash -c " apt update -qq && apt install libssl3 && dpkg -i /code/target/packages/zeronsd_${CARGO_VERSION} -ubuntu22_amd64.deb"
You can’t perform that action at this time.
0 commit comments