Switched to node builder

This commit is contained in:
Jonathan Ervine 2020-07-21 20:48:04 +08:00
parent 1b896c4785
commit d0762a8895
3 changed files with 40 additions and 40 deletions

View File

@ -1,5 +1,5 @@
# Base on latest (edge) alpine image
FROM harbor.ervine.dev/library/x86_64/alpine/alpine-3.10
FROM harbor.ervine.dev/library/x86_64/alpine/alpine:3.10.5
MAINTAINER “Jonathan Ervine” <docker@ervine.org>
@ -9,30 +9,19 @@ ENV LANG='en_US.UTF-8' \
LANGUAGE='en_US.UTF-8' \
BUILD_DATE='06-04-2020' \
TERM='xterm' \
HTPC_USER='mediaservice' \
HTPC_GROUP='mediaservice' \
HTPC_UID='1003' \
HTPC_GID='1003'
RUN echo http://dl-4.alpinelinux.org/alpine/edge/testing >> /etc/apk/repositories && \
apk update && \
apk -U upgrade && \
apk -U add \
python3 git
apk -U upgrade --ignore alpine-baselayout && \
apk -U add python3 git
ADD UTC /etc/localtime
RUN git clone https://github.com/barbequesauce/watcher3 && \
rm -rf /var/cache/apk/* && \
addgroup -g $HTPC_GID $HTPC_GROUP && \
adduser -D -u $HTPC_UID -G $HTPC_GROUP -H $HTPC_USER && \
chown -R $HTPC_USER:$HTPC_GROUP /watcher3
rm -rf /var/cache/apk/*
ADD start.sh /usr/local/bin/start.sh
RUN chmod 755 /usr/local/bin/start.sh
EXPOSE 9090
USER $HTPC_USER
CMD [ "/usr/local/bin/start.sh" ]

56
Jenkinsfile vendored
View File

@ -1,27 +1,35 @@
node("docker-node") {
docker.withRegistry('https://harbor.ervine.dev', 'jenkins-to-harbor') {
git branch: "master", url: "ssh://git@git.ervine.org/jonny/x86_64-alpine-watcher", 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/alpine-3.10/watcher"
stage "publish"
app.push("${env.BUILD_NUMBER}")
app.push("latest")
app.push("3.10.5")
podTemplate(yaml: """
kind: Pod
spec:
containers:
- name: kaniko
image: gcr.io/kaniko-project/executor:debug-539ddefcae3fd6b411a95982a830d987f4214251
imagePullPolicy: Always
command:
- /busybox/cat
tty: true
volumeMounts:
- name: jenkins-docker-cfg
mountPath: /kaniko/.docker
volumes:
- name: jenkins-docker-cfg
projected:
sources:
- secret:
name: regcred
items:
- key: .dockerconfigjson
path: config.json
"""
) {
stage('Deploy on K8s'){
sh "/usr/local/bin/kubectl -n media delete po watcher-0"
}
}
catch (err) {
currentBuild.result = 'FAILURE'
}
node(POD_LABEL) {
stage('Build with Kaniko') {
git url: 'ssh://git@git.ervine.org/jonny/x86_64-alpine-watcher.git', credentialsId: 'jenkins-to-git'
container('kaniko') {
sh '/kaniko/executor -f `pwd`/Dockerfile -c `pwd` --cache=true --destination=harbor.ervine.dev/library/x86_64/alpine/watcher:3.10.5 --destination=harbor.ervine.dev/library/x86_64/alpine/watcher:3.10'
}
}
}
}

5
start.sh Normal file → Executable file
View File

@ -1,6 +1,9 @@
#!/bin/sh
##
## Script to start the sonarr server
## Script to start the Watcher3 server
##
addgroup -g $GID $USER
adduser -D -u $UID -G $USER -H $USER
chown -R $UID:$GID /watcher3 /config
until [ -f "/config/watcher.sqlite" ]; do sleep 10; done
/usr/bin/python3 /watcher3/watcher.py --userdata=/config/