Add builder Dockerfile and steps in CI
This commit is contained in:
parent
4e4c5b1400
commit
95be2ba211
2 changed files with 60 additions and 2 deletions
|
@ -1,6 +1,6 @@
|
||||||
jobs:
|
jobs:
|
||||||
- job: Package
|
- job: BuildPackage
|
||||||
displayName: 'Package'
|
displayName: 'Build Packages'
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
|
@ -45,6 +45,53 @@ jobs:
|
||||||
contents: '**'
|
contents: '**'
|
||||||
targetFolder: '/srv/repository/incoming/azure/$(Build.BuildNumber)/$(BuildConfiguration)'
|
targetFolder: '/srv/repository/incoming/azure/$(Build.BuildNumber)/$(BuildConfiguration)'
|
||||||
|
|
||||||
|
- job: BuildDocker
|
||||||
|
displayName: 'Build Docker'
|
||||||
|
|
||||||
|
pool:
|
||||||
|
vmImage: 'ubuntu-latest'
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- script: 'docker build -f deployment/Dockerfile.docker -t jellyfin-web-unstable .'
|
||||||
|
displayName: 'Build Dockerfile (unstable)'
|
||||||
|
condition: startsWith(variables['Build.SourceBranch'], 'refs/heads/package')
|
||||||
|
|
||||||
|
- script: 'docker build -f deployment/Dockerfile.docker -t jellyfin-web-stable .'
|
||||||
|
displayName: 'Build Dockerfile (stable)'
|
||||||
|
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags')
|
||||||
|
|
||||||
|
- script: 'docker push "jellyfin-web-unstable":"$(Build.BuildNumber)-all"'
|
||||||
|
displayName: 'Push Docker image (unstable)'
|
||||||
|
condition: startsWith(variables['Build.SourceBranch'], 'refs/heads/package')
|
||||||
|
|
||||||
|
- script: 'docker push "jellyfin-web-stable":"$( sed "s|^refs/tags/v||g" <<<"$(Build.SourceBranch)" )-all"'
|
||||||
|
displayName: 'Push Docker image (stable)'
|
||||||
|
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags')
|
||||||
|
|
||||||
|
- script: 'docker manifest create --amend "jellyfin-web-unstable":"$(Build.BuildNumber)" "jellyfin-web-unstable":"$(Build.BuildNumber)"'
|
||||||
|
displayName: 'Create Docker manifest (unstable)'
|
||||||
|
condition: startsWith(variables['Build.SourceBranch'], 'refs/heads/package')
|
||||||
|
|
||||||
|
- script: 'docker manifest create --amend "jellyfin-web-stable":"$( sed "s|^refs/tags/v||g" <<<"$(Build.SourceBranch)" )" "jellyfin-web-stable":"$( sed "s|^refs/tags/v||g" <<<"$(Build.SourceBranch)" )-all"'
|
||||||
|
displayName: 'Create Docker manifest (stable, versioned)'
|
||||||
|
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags')
|
||||||
|
|
||||||
|
- script: 'docker manifest create --amend "jellyfin-web-stable":"latest" "jellyfin-web-stable":"$( sed "s|^refs/tags/v||g" <<<"$(Build.SourceBranch)" )-all"'
|
||||||
|
displayName: 'Create Docker manifest (stable, latest)'
|
||||||
|
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags')
|
||||||
|
|
||||||
|
- script: 'docker manifest push --purge "jellyfin-web-unstable":"$(Build.BuildNumber)"'
|
||||||
|
displayName: 'Push Docker manifest (unstable)'
|
||||||
|
condition: startsWith(variables['Build.SourceBranch'], 'refs/heads/package')
|
||||||
|
|
||||||
|
- script: 'docker manifest push --purge "jellyfin-web-stable":"$( sed "s|^refs/tags/v||g" <<<"$(Build.SourceBranch)" )"'
|
||||||
|
displayName: 'Push Docker manifest (stable, versioned)'
|
||||||
|
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags')
|
||||||
|
|
||||||
|
- script: 'docker manifest push --purge "jellyfin-web-stable":"latest"'
|
||||||
|
displayName: 'Push Docker manifest (stable, latest)'
|
||||||
|
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags')
|
||||||
|
|
||||||
- job: Collect
|
- job: Collect
|
||||||
displayName: 'Collect Artifacts'
|
displayName: 'Collect Artifacts'
|
||||||
|
|
||||||
|
|
11
deployment/Dockerfile.docker
Normal file
11
deployment/Dockerfile.docker
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
FROM node:alpine
|
||||||
|
|
||||||
|
ARG SOURCE_DIR=/src
|
||||||
|
ARG ARTIFACT_DIR=/jellyfin-web
|
||||||
|
|
||||||
|
RUN apk add autoconf g++ make libpng-dev gifsicle alpine-sdk automake libtool make gcc musl-dev nasm python
|
||||||
|
|
||||||
|
WORKDIR ${SOURCE_DIR}/
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
RUN yarn install && mv dist ${ARTIFACT_DIR}
|
Loading…
Add table
Add a link
Reference in a new issue