From 3b356f1be98ca80523467794199d0edd57b90280 Mon Sep 17 00:00:00 2001 From: Jonathan Ervine Date: Tue, 25 Feb 2020 13:49:08 +0800 Subject: [PATCH] new file: Dockerfile new file: Jenkinsfile --- Dockerfile | 36 ++++++++++++++++++++++++++++++++++++ Jenkinsfile | 26 ++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 Dockerfile create mode 100644 Jenkinsfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..bb8f761 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,36 @@ +# Base on latest (edge) alpine image +FROM opensuse/leap:15.1 + +MAINTAINER “Jonathan Ervine” + +# Install updates +ENV LANG='en_US.UTF-8' \ + LANGUAGE='en_US.UTF-8' \ + TERM='xterm' \ + PM_USER='pmmp' \ + PM_GROUP='pmmp' \ + PM_UID='1003' \ + PM_GID='1003' + +RUN zypper in -n tar get gzip +RUN groupadd -g $PM_GID $PM_GROUP +RUN useradd -D -u $PM_UID -g $PM_GROUP -M $PM_USER +RUN mkdir /pmmp +RUN chown $PM_USER:$PM_GROUP /pmmp +RUN cd /pmmp +RUN wget -q -O - https://jenkins.pmmp.io/job/PHP-7.3-Aggregate/lastSuccessfulBuild/artifact/PHP-7.3-Linux-x86_64.tar.gz > /pmmp/PHP-7.3-Linux-x86_64.tar.gz +RUN tar zxvf PHP-7.3-Linux-x86_64.tar.gz +RUN rm PHP-7.3-Linux-x86_64.tar.gz +RUN wget -q -O - https://github.com/pmmp/PocketMine-MP/releases/download/3.9.5/PocketMine-MP.phar > /pmmp/PocketMine-MP.phar +RUN wget -q -O - https://raw.githubusercontent.com/pmmp/PocketMine-MP/master/start.sh > /pmmp/start.sh +RUN chmod 755 start.sh +RUN chown -R $PM_USER:$PM_GROUP /pmmp + +VOLUME /plugins +VOLUME /config + +EXPOSE 19132/udp + +USER $PM_USER + +CMD [ "/pmmp/bin/php7/bin/php", "/pmmp/PocketMine-MP.phar", "--no-wizard", "--enable-ansi", "--data=/config", "--plugins=/plugins" ] diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..4421586 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,26 @@ +node("docker-node") { + docker.withRegistry('https://harbor.ervine.dev', 'jenkins-to-harbor') { + + git branch: "3.11.3", url: "ssh://git@git.ervine.org:2222/jonny/x86_64-suse-pocketmine", credentialsId: 'jenkins-to-git' + + sh "git rev-parse HEAD > .git/commit-id" + def commit_id = readFile('.git/commit-id').trim() + println commit_id + + try { + stage "build" + def app = docker.build "library/x86_64/suse/pocketmine" + + stage "publish" + app.push("${env.BUILD_NUMBER}") + app.push("latest") + + stage('Deploy on K8s'){ + sh "/usr/local/bin/kubectl -n test delete po pocketmine-0" + } + } + catch (err) { + currentBuild.result = 'FAILURE' + } + } +}