61 lines
1.9 KiB
YAML
61 lines
1.9 KiB
YAML
services:
|
|
docker:
|
|
image: docker:dind
|
|
privileged: true
|
|
|
|
pipeline:
|
|
identify:
|
|
image: docker
|
|
commands:
|
|
# Grab the current version, prevents race conditions #### Pass this into the Dockerfile somehow?
|
|
- apk add --no-cache openssl jq
|
|
- wget -qO- https://adam-ant.co.uk/plex/version.php | jq -r .release> .plex_version
|
|
|
|
build:
|
|
image: docker
|
|
environment:
|
|
- DOCKER_HOST=tcp://docker:2375
|
|
commands:
|
|
- docker build -t devbuild .
|
|
|
|
test:
|
|
image: docker
|
|
environment:
|
|
- DOCKER_HOST=tcp://docker:2375
|
|
commands:
|
|
- apk add --no-cache curl xmlstarlet grep
|
|
- export CUR_VERSION="$(cat .plex_version)"
|
|
- docker run --name=DEV -d -p 32400:32400 devbuild
|
|
- sleep 10 # Wait for plex to start!
|
|
- docker logs DEV
|
|
- curl -sSL docker:32400/identity | tee /dev/stderr | xmlstarlet sel -t -v "/MediaContainer/@version" | grep -qw $CUR_VERSION
|
|
- docker kill DEV #Not really needed, but keeps things quick
|
|
|
|
publish:
|
|
image: docker
|
|
secrets: [ DOCKER_USER, DOCKER_PASS ]
|
|
environment:
|
|
- DOCKER_HOST=tcp://docker:2375
|
|
commands:
|
|
#Grab just the version, not the hash. Used for tagging
|
|
- export CUR_VERSION=$(cat .plex_version | cut -d \- -f1 )
|
|
- echo $DOCKER_USER
|
|
- docker tag devbuild adamant/plexmediaserver:latest
|
|
- docker tag devbuild adamant/plexmediaserver:$CUR_VERSION
|
|
- docker login -u $DOCKER_USER -p $DOCKER_PASS
|
|
- docker push adamant/plexmediaserver
|
|
- echo "CONGRATS! SUCCESSFULLY BUILT PLEX VERSION "$CUR_VERSION
|
|
|
|
downstream:
|
|
image: plugins/downstream
|
|
secrets: [ DOWNSTREAM_TOKEN ]
|
|
server: https://drone.adam-ant.co.uk
|
|
fork: true
|
|
repositories:
|
|
# A public release potentially means an
|
|
# updated plexpass release - update that too!
|
|
- Adam-Ant/docker-plex-tiny@pass
|
|
when:
|
|
event: [ push, tag, deployment ]
|
|
status: [ success ]
|