Compare commits
1 Commits
f6a3c0e11f
...
a82bee315c
Author | SHA1 | Date |
---|---|---|
|
a82bee315c |
|
@ -0,0 +1,30 @@
|
||||||
|
BUILDROOT_SRC ?= ~/src/buildroot
|
||||||
|
|
||||||
|
.PHONY: all
|
||||||
|
all: initramfs rootfs
|
||||||
|
|
||||||
|
.PHONY: rootfs
|
||||||
|
rootfs: _build/rootfs/.config
|
||||||
|
$(MAKE) -C _build/rootfs -j $(shell nproc)
|
||||||
|
|
||||||
|
.PHONY: initramfs
|
||||||
|
initramfs: _build/initramfs/.config
|
||||||
|
$(MAKE) -C _build/initramfs -j $(shell nproc)
|
||||||
|
|
||||||
|
.PHONY: publish
|
||||||
|
publish:
|
||||||
|
rsync -rtliO \
|
||||||
|
_build/rootfs/images/rpi-firmware/ \
|
||||||
|
_build/rootfs/images/Image \
|
||||||
|
_build/rootfs/images/*.dtb \
|
||||||
|
_build/initramfs/images/rootfs.cpio.lz4 \
|
||||||
|
pxe0.pyrocufflink.blue:/var/lib/tftpboot/jenkinsagent-aarch64/
|
||||||
|
rsync -P --no-W \
|
||||||
|
_build/rootfs/images/rootfs.squashfs \
|
||||||
|
pxe0.pyrocufflink.blue:/var/lib/nbd/jenkinsagent-aarch64.squashfs
|
||||||
|
|
||||||
|
_build/rootfs/.config:
|
||||||
|
$(MAKE) -C $(BUILDROOT_SRC) O=${PWD}/_build/rootfs BR2_EXTERNAL=${PWD} jenkinsagent_defconfig
|
||||||
|
|
||||||
|
_build/initramfs/.config:
|
||||||
|
$(MAKE) -C $(BUILDROOT_SRC) O=${PWD}/_build/initramfs BR2_EXTERNAL=${PWD} jenkinsagent_initramfs_defconfig
|
|
@ -0,0 +1,9 @@
|
||||||
|
FROM registry.fedoraproject.org/fedora:34
|
||||||
|
|
||||||
|
RUN dnf install -y \
|
||||||
|
make \
|
||||||
|
ncurses-devel \
|
||||||
|
perl-ExtUtils-MakeMaker \
|
||||||
|
perl-FindBin \
|
||||||
|
perl-Thread-Queue \
|
||||||
|
&& dnf clean all
|
|
@ -0,0 +1,60 @@
|
||||||
|
pipeline {
|
||||||
|
agent {
|
||||||
|
dockerfile {
|
||||||
|
dir 'ci'
|
||||||
|
args '--privileged -u 0:0'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
options {
|
||||||
|
disableConcurrentBuilds()
|
||||||
|
}
|
||||||
|
|
||||||
|
triggers {
|
||||||
|
pollSCM ''
|
||||||
|
}
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage('Prepare') {
|
||||||
|
steps {
|
||||||
|
checkout poll: false, scm: [
|
||||||
|
$class: 'GitSCM',
|
||||||
|
branches: [[name: '2022.02.x']],
|
||||||
|
doGenerateSubmoduleConfigurations: false,
|
||||||
|
userRemoteConfigs: [[url: 'git://git.buildroot.net/buildroot']],
|
||||||
|
extensions: [
|
||||||
|
[
|
||||||
|
$class: 'RelativeTargetDirectory',
|
||||||
|
relativeTargetDir: 'buildroot',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
]
|
||||||
|
sh '. ci/prepare.sh'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage('Build') {
|
||||||
|
parallel {
|
||||||
|
stage('Build Initramfs') {
|
||||||
|
steps {
|
||||||
|
sh '. ci/build-initramfs.sh'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage('Build Rootfs') {
|
||||||
|
steps {
|
||||||
|
sh '. ci/build-rootfs.sh'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage('Publish') {
|
||||||
|
steps {
|
||||||
|
sshagent(['jenkins-pxe']) {
|
||||||
|
sh '. ci/publish.sh'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
make initramfs
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
make rootfs
|
|
@ -0,0 +1 @@
|
||||||
|
#!/bin/sh
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
make publish
|
Reference in New Issue