2
0
mirror of https://github.com/spritsail/plex-media-server.git synced 2025-05-05 06:22:29 +00:00
plex-media-server/.drone.yml
Joe Groocock 32734c3aa0
Build Plex on musl, from scratch
Plex now provide a first-party musl Plex build that works without any
external dependencies whatsoever. It's built with LLVM with many
compiler and linker optimisations enabled:
https://forums.plex.tv/t/plex-media-server-forum-preview-faster-and-smaller-builds-with-new-toolchain/699575

Changes for this release include:
- Drop curl, OpenSSL and zlib; they're no longer required. libcurl and
  libssl/libcrypto are provided by Plex anyway.
- Build `FROM spritsail/alpine` instead of `FROM debian` to ensure musl
  compatibility with all compiled binaries. Use `FROM scratch` for the
  resulting image. ld-musl is provided by Plex.
- Build busybox, su-exec and tini as they're no longer provided by the
  base image.
- Build binaries/libraries with standard hardening flags, including the
  popular -flto.

Signed-off-by: Joe Groocock <me@frebib.net>
2021-03-13 17:29:51 +00:00

53 lines
887 B
YAML

---
kind: pipeline
name: build-amd64
platform:
os: linux
arch: amd64
steps:
- name: build
pull: always
image: spritsail/docker-build
settings:
make: true
- name: test-bin
pull: always
image: spritsail/docker-test
settings:
run: |
busybox && \
xmlstarlet --version
- name: test
pull: always
image: spritsail/docker-test
settings:
curl: :32400/identity
delay: 5
pipe: |
xmlstarlet sel -t -v "/MediaContainer/@version" |
grep -qw "$(label io.spritsail.version.plex | cut -d- -f1)"
retry: 10
- name: publish
pull: always
image: spritsail/docker-publish
settings:
repo: spritsail/plex-media-server
tags:
- musl
login: {from_secret: docker_login}
when:
branch:
- musl
event:
- push
---
kind: signature
hmac: 63bede647ba8e4f4f0a69983c22535fbda0afa811b60830c31edb0fbbf0b8b86
...