summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Jenkinsfile43
-rw-r--r--docker/Dockerfile28
2 files changed, 34 insertions, 37 deletions
diff --git a/Jenkinsfile b/Jenkinsfile
index c2ec90a5..17f0ca51 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -49,11 +49,7 @@ node('Docker') {
script {
dir('docker') {
sh """
- mkdir -p x86-64
- cp Dockerfile x86-64/Dockerfile
- cp entrypoint.sh x86-64/entrypoint.sh
-
- docker build -t ${env.DOCKER_IMAGE} x86-64
+ docker build -t ${env.DOCKER_IMAGE} .
"""
if ( ! isCustomBuild()) {
withDockerRegistry([credentialsId: "DockerHub"]) {
@@ -81,26 +77,23 @@ node('Docker') {
// }
// }
// },
-// 'arm64': {
-// script {
-// dir('docker') {
-// sh """
-// cp Dockerfile arm64/Dockerfile
-// cp entrypoint.sh arm64/entrypoint.sh
-// sed -i 's#^FROM.*#FROM multiarch/debian-debootstrap:arm64-buster-slim#' arm64/Dockerfile
-// docker build -t ${env.DOCKER_IMAGE_ARM64} arm64
-//
-// """
-//
-// if ( ! isCustomBuild()) {
-// withDockerRegistry([credentialsId: "DockerHub"]) {
-// sh "docker push ${env.DOCKER_IMAGE_ARM64}"
-//
-// }
-// }
-// }
-// }
-// }
+ 'arm64': {
+ script {
+ dir('docker') {
+ sh """
+ docker build -t ${env.DOCKER_IMAGE_ARM64} --build-arg ARCH=arm64v8/ .
+
+ """
+
+ if ( ! isCustomBuild()) {
+ withDockerRegistry([credentialsId: "DockerHub"]) {
+ sh "docker push ${env.DOCKER_IMAGE_ARM64}"
+
+ }
+ }
+ }
+ }
+ }
)
}
}
diff --git a/docker/Dockerfile b/docker/Dockerfile
index b2a5315c..c892b64b 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -17,22 +17,26 @@
# volume mapped in order to easy export images
# This Dockerfile is installable on both x86, x86-64, armhf and arm64 systems
-# To install using native cpu instructionset use the default docker `FROM` statement
-# (Use this to build on an x86/x86-64 pc/server and on an ARM system, eg. RaspberryPi)
-FROM debian:buster
+ARG ARCH=
+FROM ${ARCH}debian:buster
# It is also possible to emulate an arm system inside docker,
# execution of this emulated system needs to be executed on an x86 or x86-64 host.
-# To install an qemu emulated armhf or arm64 cpu comment out the default `FROM` statement
-# and use one of the following instead.
-# ARMHF:
-#FROM multiarch/debian-debootstrap:armhf-buster-slim
-# ARM64:
-#FROM multiarch/debian-debootstrap:arm64-buster-slim
-
-# Prior of installing an emulated qemu build you need to install qemu, qemu-user-static
-# and register qemu inside docker using:
+# To install using a non-native cpu instructionset use the `--build-arg ARCH=<ARCH>/`
+# Supported architectures:
+# arm32v6/
+# arm32v7/
+# arm64v8/
+# Example bo byukd natively:
+# docker build -t vyos-build:current .
+# Example to build on armhf:
+# docker build -t vyos-build:current-armhf --build-arg ARCH=arm32v7/ .
+# Example to build on arm64:
+# docker build -t vyos-build:current-arm64 --build-arg ARCH=arm64v8/ .
+
+# On some versions of docker the emulation framework is not installed by default and
+# you need to install qemu, qemu-user-static and register qemu inside docker manually using:
# `docker run --rm --privileged multiarch/qemu-user-static:register --reset`