Build (And Publish) Docker Image
All checks were successful
minecraft-pi-reborn/pipeline/head This commit looks good

This commit is contained in:
TheBrokenRail 2021-06-21 13:26:55 -04:00
parent 747d2032e6
commit 6d79beeeb6
2 changed files with 54 additions and 14 deletions

21
Dockerfile Normal file
View File

@ -0,0 +1,21 @@
FROM debian:bullseye
# Copy DEB
ADD ./out/minecraft-pi-reborn-server_*~bullseye_amd64.deb /root
# Install
RUN \
apt-get update && \
apt-get install -y tini && \
(dpkg -i /root/*.deb || :) && \
apt-get --fix-broken install -y && \
rm -f /root/*.deb && \
rm -rf /var/lib/apt/lists/*
# Setup Working Directory
RUN mkdir /data
WORKDIR /data
# Setup Entrypoint
ENTRYPOINT ["/usr/bin/tini", "--"]
CMD ["minecraft-pi-reborn-server"]

47
Jenkinsfile vendored
View File

@ -1,33 +1,52 @@
pipeline {
agent none
stages {
stage('Build (Debian Bullseye)') {
stage('Debian Bullseye') {
agent {
docker {
image 'debian:bullseye'
args '-v /var/run/docker.sock:/var/run/docker.sock'
}
}
steps {
sh './scripts/ci/run.sh'
}
post {
success {
archiveArtifacts artifacts: 'out/*.deb', fingerprint: true
stages {
stage('Build') {
steps {
sh './scripts/ci/run.sh'
}
post {
success {
archiveArtifacts artifacts: 'out/*.deb', fingerprint: true
}
}
}
stage('Publish') {
steps {
sh 'apt-get update && apt-get install -y docker.io'
sh 'docker build --no-cache --tag thebrokenrail/minecraft-pi-reborn-server .'
withCredentials([usernamePassword(credentialsId: 'docker_hub_login', usernameVariable: 'DOCKER_HUB_USERNAME', passwordVariable: 'DOCKER_HUB_PASSWORD')]) {
sh 'docker login -u "${DOCKER_HUB_USERNAME}" -p "${DOCKER_HUB_PASSWORD}"'
}
sh 'docker push thebrokenrail/minecraft-pi-reborn-server'
}
}
}
}
stage('Build (Debian Buster)') {
stage('Debian Buster') {
agent {
docker {
image 'debian:buster'
}
}
steps {
sh './scripts/ci/run.sh'
}
post {
success {
archiveArtifacts artifacts: 'out/*.deb', fingerprint: true
stages {
stage('Build') {
steps {
sh './scripts/ci/run.sh'
}
post {
success {
archiveArtifacts artifacts: 'out/*.deb', fingerprint: true
}
}
}
}
}