mirror of
https://github.com/casjaysdevdocker/tor
synced 2025-09-17 11:10:19 -04:00
🗃️ Committing everything that changed 🗃️
Some checks failed
release-tag / release-image (push) Failing after 1m11s
Some checks failed
release-tag / release-image (push) Failing after 1m11s
Jenkinsfile rootfs/usr/local/bin/entrypoint.sh rootfs/usr/local/etc/docker/functions/
This commit is contained in:
71
Jenkinsfile
vendored
Normal file
71
Jenkinsfile
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
pipeline {
|
||||
agent {
|
||||
label 'arm64 || amd64'
|
||||
}
|
||||
|
||||
options {
|
||||
buildDiscarder(logRotator(numToKeepStr: '10'))
|
||||
timeout(time: 60, unit: 'MINUTES')
|
||||
timestamps()
|
||||
}
|
||||
|
||||
environment {
|
||||
DOCKER_REGISTRY = 'docker.io'
|
||||
IMAGE_NAME = 'casjaysdevdocker/tor'
|
||||
DOCKER_BUILDKIT = '1'
|
||||
}
|
||||
|
||||
stages {
|
||||
stage('Checkout') {
|
||||
steps {
|
||||
checkout scm
|
||||
}
|
||||
}
|
||||
|
||||
stage('Build Multi-Arch Image') {
|
||||
steps {
|
||||
script {
|
||||
def buildArgs = ""
|
||||
if (fileExists('.env.scripts')) {
|
||||
buildArgs = "--build-arg-file .env.scripts"
|
||||
}
|
||||
|
||||
sh """
|
||||
docker buildx create --use --name mybuilder || true
|
||||
docker buildx build \\
|
||||
--platform linux/amd64,linux/arm64 \\
|
||||
--tag ${DOCKER_REGISTRY}/${IMAGE_NAME}:latest \\
|
||||
--tag ${DOCKER_REGISTRY}/${IMAGE_NAME}:\${BUILD_NUMBER} \\
|
||||
${buildArgs} \\
|
||||
--push .
|
||||
"""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Test') {
|
||||
steps {
|
||||
script {
|
||||
sh """
|
||||
docker run --rm --platform linux/\$(uname -m) \\
|
||||
${DOCKER_REGISTRY}/${IMAGE_NAME}:latest \\
|
||||
/bin/sh -c 'echo "Container test passed"'
|
||||
"""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
post {
|
||||
always {
|
||||
sh 'docker buildx rm mybuilder || true'
|
||||
cleanWs()
|
||||
}
|
||||
success {
|
||||
echo 'Build completed successfully!'
|
||||
}
|
||||
failure {
|
||||
echo 'Build failed!'
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user