mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Speedup test by using cache image.
This commit is contained in:
parent
d4e5138a58
commit
1fe12b8e8c
7 changed files with 84 additions and 77 deletions
|
@ -22,16 +22,6 @@ RUN apt-get update && apt-get install -y gcc make g++ patch unzip perl git
|
|||
COPY . /srs
|
||||
WORKDIR /srs/trunk
|
||||
|
||||
# Use srs-cache from base image.
|
||||
RUN if [[ -d /usr/local/srs-cache/srs/trunk/objs ]]; then \
|
||||
./configure --generate-objs=on && \
|
||||
SOURCE_DIR=$(ls -d /usr/local/srs-cache/srs/trunk/objs/Platform-*) && \
|
||||
TARGET_DIR=$(ls -d objs/Platform-*) && \
|
||||
echo "Build from cache, source=$SOURCE_DIR, target=$TARGET_DIR" && \
|
||||
rm -rf $TARGET_DIR && mv $SOURCE_DIR $TARGET_DIR && \
|
||||
du -sh $TARGET_DIR && ls -lh objs; \
|
||||
fi
|
||||
|
||||
# Build and install SRS.
|
||||
# Note that SRT is enabled by default, so we configure without --srt=on.
|
||||
RUN ./configure --jobs=${JOBS} && make -j${JOBS} && make install
|
||||
|
|
|
@ -1,87 +1,74 @@
|
|||
########################################################
|
||||
FROM ossrs/srs:dev AS centos7-baseline
|
||||
FROM ossrs/srs:dev-cache AS centos7-baseline
|
||||
COPY . /srs
|
||||
RUN cd /srs/trunk && ./configure --jobs=2 --srt=off && make -j2
|
||||
|
||||
FROM ossrs/srs:dev AS centos7-no-webrtc
|
||||
FROM ossrs/srs:dev-cache AS centos7-no-webrtc
|
||||
COPY . /srs
|
||||
RUN cd /srs/trunk && ./configure --jobs=2 --srt=off --rtc=off && make -j2
|
||||
|
||||
FROM ossrs/srs:dev AS centos7-no-asm
|
||||
FROM ossrs/srs:dev-cache AS centos7-no-asm
|
||||
COPY . /srs
|
||||
RUN cd /srs/trunk && ./configure --jobs=2 --srt=off --nasm=off --srtp-nasm=off && make -j2
|
||||
|
||||
FROM ossrs/srs:dev AS centos7-srt
|
||||
FROM ossrs/srs:dev-cache AS centos7-srt
|
||||
COPY . /srs
|
||||
RUN cd /srs/trunk && ./configure --jobs=2 --srt=on && make -j2
|
||||
|
||||
FROM ossrs/srs:dev AS centos7-ansi-no-ffmpeg
|
||||
FROM ossrs/srs:dev-cache AS centos7-ansi-no-ffmpeg
|
||||
COPY . /srs
|
||||
RUN cd /srs/trunk && ./configure --jobs=2 --srt=off --cxx11=off --cxx14=off --ffmpeg-fit=off && make -j2
|
||||
|
||||
########################################################
|
||||
FROM ossrs/srs:dev6 AS centos6-baseline
|
||||
FROM ossrs/srs:dev6-cache AS centos6-baseline
|
||||
COPY . /srs
|
||||
RUN cd /srs/trunk && ./configure --jobs=2 --srt=off --cxx11=off --cxx14=off && make -j2
|
||||
|
||||
FROM ossrs/srs:dev6 AS centos6-srt
|
||||
FROM ossrs/srs:dev6-cache AS centos6-srt
|
||||
COPY . /srs
|
||||
RUN cd /srs/trunk && ./configure --jobs=2 --srt=on --cxx11=off --cxx14=off && make -j2
|
||||
|
||||
########################################################
|
||||
FROM ossrs/srs:dev8 AS centos8-baseline
|
||||
FROM ossrs/srs:ubuntu16-cache AS ubuntu16-baseline
|
||||
COPY . /srs
|
||||
RUN cd /srs/trunk && ./configure --jobs=2 --srt=off && make -j2
|
||||
|
||||
FROM ossrs/srs:dev8 AS centos8-srt
|
||||
FROM ossrs/srs:ubuntu16-cache AS ubuntu16-srt
|
||||
COPY . /srs
|
||||
RUN cd /srs/trunk && ./configure --jobs=2 --srt=on && make -j2
|
||||
|
||||
########################################################
|
||||
FROM ossrs/srs:ubuntu16 AS ubuntu16-baseline
|
||||
FROM ossrs/srs:ubuntu18-cache AS ubuntu18-baseline
|
||||
COPY . /srs
|
||||
RUN cd /srs/trunk && ./configure --jobs=2 --srt=off && make -j2
|
||||
|
||||
FROM ossrs/srs:ubuntu16 AS ubuntu16-srt
|
||||
FROM ossrs/srs:ubuntu18-cache AS ubuntu18-srt
|
||||
COPY . /srs
|
||||
RUN cd /srs/trunk && ./configure --jobs=2 --srt=on && make -j2
|
||||
|
||||
########################################################
|
||||
FROM ossrs/srs:ubuntu18 AS ubuntu18-baseline
|
||||
FROM ossrs/srs:ubuntu20-cache AS ubuntu20-baseline
|
||||
COPY . /srs
|
||||
RUN cd /srs/trunk && ./configure --jobs=2 --srt=off && make -j2
|
||||
|
||||
FROM ossrs/srs:ubuntu18 AS ubuntu18-srt
|
||||
FROM ossrs/srs:ubuntu20-cache AS ubuntu20-srt
|
||||
COPY . /srs
|
||||
RUN cd /srs/trunk && ./configure --jobs=2 --srt=on && make -j2
|
||||
|
||||
########################################################
|
||||
FROM ossrs/srs:ubuntu20 AS ubuntu20-baseline
|
||||
FROM ossrs/srs:ubuntu16-cross-arm AS ubuntu16-cross-armv7
|
||||
COPY . /srs
|
||||
RUN cd /srs/trunk && ./configure --jobs=2 --srt=off && make -j2
|
||||
RUN cd /srs/trunk && ./configure --jobs=2 --cross-build --cross-prefix=arm-linux-gnueabihf- && make -j2
|
||||
|
||||
FROM ossrs/srs:ubuntu20 AS ubuntu20-srt
|
||||
FROM ossrs/srs:ubuntu16-cross-aarch64 AS ubuntu16-cross-aarch64
|
||||
COPY . /srs
|
||||
RUN cd /srs/trunk && ./configure --jobs=2 --srt=on && make -j2
|
||||
RUN cd /srs/trunk && ./configure --jobs=2 --cross-build --cross-prefix=aarch64-linux-gnu- && make -j2
|
||||
|
||||
########################################################
|
||||
FROM ossrs/srs:ubuntu16 AS ubuntu16-cross-armv7
|
||||
FROM ossrs/srs:ubuntu20-cross-arm AS ubuntu20-cross-armv7
|
||||
COPY . /srs
|
||||
RUN cd /srs/trunk && ./configure --jobs=2 --srt=off --cross-build --cc=arm-linux-gnueabihf-gcc --cxx=arm-linux-gnueabihf-g++ \
|
||||
--ar=arm-linux-gnueabihf-ar --ld=arm-linux-gnueabihf-ld --randlib=arm-linux-gnueabihf-randlib && make -j2
|
||||
RUN cd /srs/trunk && ./configure --jobs=2 --cross-build --cross-prefix=arm-linux-gnueabihf- && make -j2
|
||||
|
||||
FROM ossrs/srs:ubuntu16 AS ubuntu16-cross-aarch64
|
||||
FROM ossrs/srs:ubuntu20-cross-aarch64 AS ubuntu20-cross-aarch64
|
||||
COPY . /srs
|
||||
RUN cd /srs/trunk && ./configure --jobs=2 --srt=off --cross-build --cc=aarch64-linux-gnu-gcc --cxx=aarch64-linux-gnu-g++ \
|
||||
--ar=aarch64-linux-gnu-ar --ld=aarch64-linux-gnu-ld --randlib=aarch64-linux-gnu-randlib && make -j2
|
||||
|
||||
########################################################
|
||||
FROM ossrs/srs:ubuntu20 AS ubuntu20-cross-armv7
|
||||
COPY . /srs
|
||||
RUN cd /srs/trunk && ./configure --jobs=2 --srt=off --cross-build --cc=arm-linux-gnueabihf-gcc --cxx=arm-linux-gnueabihf-g++ \
|
||||
--ar=arm-linux-gnueabihf-ar --ld=arm-linux-gnueabihf-ld --randlib=arm-linux-gnueabihf-randlib && make -j2
|
||||
|
||||
FROM ossrs/srs:ubuntu20 AS ubuntu20-cross-aarch64
|
||||
COPY . /srs
|
||||
RUN cd /srs/trunk && ./configure --jobs=2 --srt=off --cross-build --cc=aarch64-linux-gnu-gcc --cxx=aarch64-linux-gnu-g++ \
|
||||
--ar=aarch64-linux-gnu-ar --ld=aarch64-linux-gnu-ld --randlib=aarch64-linux-gnu-randlib && make -j2
|
||||
RUN cd /srs/trunk && ./configure --jobs=2 --cross-build --cross-prefix=aarch64-linux-gnu- && make -j2
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
FROM ossrs/srs:dev-gcc7
|
||||
FROM ossrs/srs:dev-gcc7-cache
|
||||
|
||||
# Install depends tools.
|
||||
RUN yum install -y gcc make gcc-c++ patch unzip perl git
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
FROM ossrs/srs:dev-gcc7
|
||||
FROM ossrs/srs:dev-gcc7-cache
|
||||
|
||||
# Install depends tools.
|
||||
RUN yum install -y gcc make gcc-c++ patch unzip perl git
|
||||
|
|
|
@ -369,6 +369,22 @@ if [[ $OS_IS_UBUNTU = NO && $OS_IS_CENTOS = NO && $OS_IS_OSX = NO && $SRS_CROSS_
|
|||
exit 1
|
||||
fi
|
||||
|
||||
#####################################################################################
|
||||
# Try to load cache if exists /usr/local/srs-cache
|
||||
#####################################################################################
|
||||
# Use srs-cache from base image.
|
||||
if [[ -d /usr/local/srs-cache/srs/trunk/objs && $(pwd) != "/usr/local/srs-cache/srs/trunk" ]]; then
|
||||
SOURCE_DIR=$(ls -d /usr/local/srs-cache/srs/trunk/objs/Platform-* 2>/dev/null|head -n 1)
|
||||
if [[ -d $SOURCE_DIR ]]; then
|
||||
TARGET_DIR=${SRS_OBJS}/${SRS_PLATFORM} &&
|
||||
echo "Build from cache, source=$SOURCE_DIR, target=$TARGET_DIR" &&
|
||||
rm -rf $TARGET_DIR && mkdir -p ${SRS_OBJS} && cp -R $SOURCE_DIR $TARGET_DIR &&
|
||||
du -sh /usr/local/srs-cache/srs/trunk/objs/Platform-* &&
|
||||
du -sh objs/Platform-* &&
|
||||
ls -lh objs
|
||||
fi
|
||||
fi
|
||||
|
||||
#####################################################################################
|
||||
# state-threads
|
||||
#####################################################################################
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue