commit 4de3a176ef45e2724c5a53c50bb7e4b923ee031f Author: Julien Cabillot Date: Mon Jun 5 19:49:31 2023 -0400 wip diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..8bebddc --- /dev/null +++ b/Dockerfile @@ -0,0 +1,11 @@ +FROM alpine:3.18 + +ARG VERSION=3.1.0 +ARG TARGETARCH=x64 + +RUN apk add --no-cache curl && \ + if [ "$TARGETARCH" == "amd64" ]; then export TARGETARCH="x64"; fi; wget --no-verbose -O /usr/local/bin/duplicacy "https://github.com/gilbertchen/duplicacy/releases/download/v${VERSION}/duplicacy_linux_${TARGETARCH}_${VERSION}" && \ + chmod 777 /usr/local/bin/duplicacy && \ + mkdir -p /config/scripts && \ + mkdir -p /config/cache && \ + mkdir -p /data diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..a9f5928 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,39 @@ +pipeline { + environment { + registry = 'https://registry.hub.docker.com' + registryCredential = 'dockerhub_jcabillot' + dockerImage = 'jcabillot/duplicacy' + DOCKER_BUILDKIT = '1' + } + + agent any + + triggers { + cron('@midnight') + } + + stages { + stage('Clone repository') { + steps{ + checkout scm + } + } + + stage('Build image') { + steps{ + sh 'docker build --force-rm=true --no-cache=true --pull -t ${dockerImage} .' + } + } + + stage('Deploy Image') { + steps{ + script { + withCredentials([usernamePassword(credentialsId: 'dockerhub_jcabillot', usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS')]) { + sh 'docker login --username ${DOCKER_USER} --password ${DOCKER_PASS}' + sh 'docker push ${dockerImage}' + } + } + } + } + } +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..3410db9 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# docker-duplicacy +