mirror of
https://github.com/rancher/os.git
synced 2025-09-05 00:37:12 +00:00
Build script changes
This commit is contained in:
2
build.sh
2
build.sh
@@ -5,6 +5,6 @@ cd $(dirname $0)
|
|||||||
|
|
||||||
export DOCKER_IMAGE=rancher-os-build
|
export DOCKER_IMAGE=rancher-os-build
|
||||||
|
|
||||||
./scripts/ci
|
./scripts/ci "$@"
|
||||||
mkdir -p dist
|
mkdir -p dist
|
||||||
docker run -it -e CHOWN_ID=$(id -u) -v $(pwd)/dist:/source/target $DOCKER_IMAGE
|
docker run -it -e CHOWN_ID=$(id -u) -v $(pwd)/dist:/source/target $DOCKER_IMAGE
|
||||||
|
@@ -7,9 +7,6 @@ cd $(dirname $0)/..
|
|||||||
apt-get update
|
apt-get update
|
||||||
apt-get install -y curl rsync build-essential syslinux xorriso libblkid-dev libmount-dev libselinux1-dev
|
apt-get install -y curl rsync build-essential syslinux xorriso libblkid-dev libmount-dev libselinux1-dev
|
||||||
|
|
||||||
|
if [ ! -d /usr/local/go ]; then
|
||||||
curl -sL https://github.com/ibuildthecloud/docker/releases/download/v1.5.0-rancher-2/docker-1.5.0 > /usr/bin/docker
|
|
||||||
|
|
||||||
chmod +x /usr/bin/docker
|
|
||||||
|
|
||||||
curl -sL https://storage.googleapis.com/golang/go1.4.1.linux-amd64.tar.gz | tar xvzf - -C /usr/local
|
curl -sL https://storage.googleapis.com/golang/go1.4.1.linux-amd64.tar.gz | tar xvzf - -C /usr/local
|
||||||
|
fi
|
||||||
|
@@ -73,6 +73,9 @@ run()
|
|||||||
content="$content\nCOPY $1 /source/"
|
content="$content\nCOPY $1 /source/"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
*)
|
||||||
|
break
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
shift 1
|
shift 1
|
||||||
@@ -84,16 +87,20 @@ run()
|
|||||||
fi
|
fi
|
||||||
if [ -n "$1" ]; then
|
if [ -n "$1" ]; then
|
||||||
echo -e "\nCOPY $1 /source/$1" >> ${DOCKER_FILE}
|
echo -e "\nCOPY $1 /source/$1" >> ${DOCKER_FILE}
|
||||||
echo -e "RUN /source/$1" >> ${DOCKER_FILE}
|
echo -e "RUN /source/"$@"" >> ${DOCKER_FILE}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$RUN_EXEC" = "true" ]; then
|
if [ "$RUN_EXEC" = "true" ]; then
|
||||||
$1
|
"$@"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
finish()
|
finish()
|
||||||
{
|
{
|
||||||
|
if [ "$RUN_EXEC" = "true" ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
local cmd="docker build -t ${DOCKER_IMAGE} -f ${DOCKER_FILE} ."
|
local cmd="docker build -t ${DOCKER_IMAGE} -f ${DOCKER_FILE} ."
|
||||||
echo Running $cmd
|
echo Running $cmd
|
||||||
echo Pwd $(pwd)
|
echo Pwd $(pwd)
|
||||||
|
@@ -1,6 +1,8 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
VERSION=v0.0.1
|
||||||
|
|
||||||
cd $(dirname $0)/..
|
cd $(dirname $0)/..
|
||||||
|
|
||||||
source scripts/build-common
|
source scripts/build-common
|
||||||
@@ -10,7 +12,8 @@ mkdir -p ${BUILD}/initrd ${DIST}/artifacts
|
|||||||
echo Extracting ${ARTIFACTS}/os-base.tar.xz
|
echo Extracting ${ARTIFACTS}/os-base.tar.xz
|
||||||
tar xJf ${ARTIFACTS}/os-base.tar.xz -C ${BUILD}
|
tar xJf ${ARTIFACTS}/os-base.tar.xz -C ${BUILD}
|
||||||
|
|
||||||
cp /etc/ssl/certs/ca-certificates.crt ${BUILD}/initrd/ca.crt
|
cp /etc/ssl/certs/ca-certificates.crt ${ARTIFACTS}/ca.crt
|
||||||
|
cp ${BUILD}/dist/rootfs.tar ${ARTIFACTS}
|
||||||
|
|
||||||
rm -rf ${BUILD}/initrd/lib
|
rm -rf ${BUILD}/initrd/lib
|
||||||
cp -rf ${BUILD}/dist/kernel/lib ${BUILD}/initrd
|
cp -rf ${BUILD}/dist/kernel/lib ${BUILD}/initrd
|
||||||
@@ -46,6 +49,7 @@ for i in scripts/dockerimages/[0-9]*; do
|
|||||||
tag=$(echo $i | cut -f2 -d-)
|
tag=$(echo $i | cut -f2 -d-)
|
||||||
echo Building $tag
|
echo Building $tag
|
||||||
docker build -t $tag -f $i .
|
docker build -t $tag -f $i .
|
||||||
|
docker build -t ${tag}:${VERSION} -f $i .
|
||||||
echo $tag >> ${BUILD}/tags
|
echo $tag >> ${BUILD}/tags
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@@ -4,7 +4,7 @@ set -e
|
|||||||
cd $(dirname $0)/..
|
cd $(dirname $0)/..
|
||||||
|
|
||||||
export DOCKER_IMAGE=${DOCKER_IMAGE:=rancher-os-build}
|
export DOCKER_IMAGE=${DOCKER_IMAGE:=rancher-os-build}
|
||||||
export DOCKER_BASE=rancher/docker-dind-base:latest
|
export DOCKER_BASE=rancher/dind:v0.1.0
|
||||||
|
|
||||||
source scripts/build-common
|
source scripts/build-common
|
||||||
|
|
||||||
@@ -12,6 +12,11 @@ DOCKER_FILE=$(pwd)/.dockerfile
|
|||||||
|
|
||||||
generate_images()
|
generate_images()
|
||||||
{
|
{
|
||||||
|
if [ "$RUN_EXEC" = "true" ]; then
|
||||||
|
./scripts/build-images
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
IMAGE_ID=$(docker images --no-trunc -q ${DOCKER_IMAGE})
|
IMAGE_ID=$(docker images --no-trunc -q ${DOCKER_IMAGE})
|
||||||
|
|
||||||
if [ -e ${BUILD}/${IMAGE_ID} ]; then
|
if [ -e ${BUILD}/${IMAGE_ID} ]; then
|
||||||
@@ -45,5 +50,5 @@ for i in $(ls -d * .* | sort -u | grep -Ev '(\.|\.\.|\.dockerfile|build|dist|.gi
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
run --assets "${ARGS}" ./scripts/build
|
run --assets "${ARGS}" ./scripts/build
|
||||||
run --assets ./scripts/install ./scripts/package
|
run --assets ./scripts/install ./scripts/package "$@"
|
||||||
finish
|
finish
|
||||||
|
@@ -1,3 +1,23 @@
|
|||||||
FROM scratch
|
FROM scratch
|
||||||
ADD build/dist/rootfs.tar /
|
ADD assets/rootfs.tar /
|
||||||
|
# Cleanup Buildroot
|
||||||
|
RUN rm /sbin/poweroff /sbin/reboot /sbin/halt && \
|
||||||
|
sed -i '/^root/s!/bin/sh!/bin/bash!' /etc/passwd && \
|
||||||
|
echo -e 'RancherOS\n' > /etc/issue && \
|
||||||
|
rm /run \
|
||||||
|
/linuxrc \
|
||||||
|
/etc/os-release \
|
||||||
|
/var/cache \
|
||||||
|
/var/lock \
|
||||||
|
/var/log \
|
||||||
|
/var/run \
|
||||||
|
/var/spool \
|
||||||
|
/var/lib/misc && \
|
||||||
|
mkdir -p \
|
||||||
|
/run \
|
||||||
|
/var/cache \
|
||||||
|
/var/lock \
|
||||||
|
/var/log \
|
||||||
|
/var/run \
|
||||||
|
/var/spool
|
||||||
CMD ["/bin/sh"]
|
CMD ["/bin/sh"]
|
||||||
|
@@ -1,6 +1,2 @@
|
|||||||
FROM base
|
FROM base
|
||||||
VOLUME /home
|
|
||||||
VOLUME /opt
|
|
||||||
VOLUME /var/lib/docker
|
|
||||||
VOLUME /var/run
|
|
||||||
CMD ["echo"]
|
CMD ["echo"]
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
FROM base
|
FROM base
|
||||||
COPY scripts/dockerimages/scripts/docker.sh /
|
COPY scripts/dockerimages/scripts/docker.sh /
|
||||||
COPY build/initrd/ca.crt /etc/ssl/certs/ca-certificates.crt
|
COPY assets/ca.crt /etc/ssl/certs/ca-certificates.crt
|
||||||
CMD ["/docker.sh"]
|
CMD ["/docker.sh"]
|
||||||
|
@@ -1,6 +1,3 @@
|
|||||||
FROM base
|
FROM base
|
||||||
RUN rm /sbin/poweroff /sbin/reboot /sbin/halt
|
COPY scripts/dockerimages/scripts/console.sh /usr/sbin/
|
||||||
RUN sed -i '/^root/s!/bin/sh!/bin/bash!' /etc/passwd
|
CMD ["/usr/sbin/console.sh"]
|
||||||
RUN echo -e 'RancherOS\n' > /etc/issue
|
|
||||||
COPY scripts/dockerimages/scripts/console.sh /
|
|
||||||
CMD ["/console.sh"]
|
|
||||||
|
@@ -10,7 +10,12 @@ cp scripts/dockerimages/scripts/os-dockerfile ${BUILD}/initrd/Dockerfile
|
|||||||
|
|
||||||
cd ${BUILD}/initrd
|
cd ${BUILD}/initrd
|
||||||
|
|
||||||
|
if [ "--dev" = "$1" ]; then
|
||||||
|
find | cpio -H newc -o > ${DIST}/artifacts/initrd
|
||||||
|
cp ${DIST}/artifacts/initrd ${DIST}/artifacts/initrd.none
|
||||||
|
else
|
||||||
find | cpio -H newc -o | lzma -c > ${DIST}/artifacts/initrd
|
find | cpio -H newc -o | lzma -c > ${DIST}/artifacts/initrd
|
||||||
|
fi
|
||||||
|
|
||||||
CD=${BUILD}/cd
|
CD=${BUILD}/cd
|
||||||
|
|
||||||
|
@@ -10,6 +10,7 @@ BASE=$(pwd)
|
|||||||
|
|
||||||
KERNEL=${BASE}/dist/artifacts/vmlinuz
|
KERNEL=${BASE}/dist/artifacts/vmlinuz
|
||||||
INITRD=${BASE}/dist/artifacts/initrd
|
INITRD=${BASE}/dist/artifacts/initrd
|
||||||
|
NO_COMPRESS_INITRD=${INITRD}.none
|
||||||
HD=${BASE}/build/empty-hd.img
|
HD=${BASE}/build/empty-hd.img
|
||||||
HD_GZ=${ARTIFACTS}/empty-hd.img.gz
|
HD_GZ=${ARTIFACTS}/empty-hd.img.gz
|
||||||
INITRD_TMP=${BUILD}/$(sha1sum ${INITRD} | awk '{print $1}')
|
INITRD_TMP=${BUILD}/$(sha1sum ${INITRD} | awk '{print $1}')
|
||||||
@@ -23,7 +24,11 @@ fi
|
|||||||
if [ ! -d ${INITRD_TMP} ]; then
|
if [ ! -d ${INITRD_TMP} ]; then
|
||||||
mkdir -p ${INITRD_TMP}
|
mkdir -p ${INITRD_TMP}
|
||||||
pushd ${INITRD_TMP}
|
pushd ${INITRD_TMP}
|
||||||
lzma -dc ${INITRD} | sudo cpio -idmv
|
if [ -e ${NO_COMPRESS_INITRD} ]; then
|
||||||
|
cat ${NO_COMPRESS_INITRD} | sudo cpio -idmv
|
||||||
|
else
|
||||||
|
xz -dc ${INITRD} | sudo cpio -idmv
|
||||||
|
fi
|
||||||
rm -f init
|
rm -f init
|
||||||
popd
|
popd
|
||||||
fi
|
fi
|
||||||
@@ -41,6 +46,6 @@ else
|
|||||||
zcat ${HD_GZ} > ${HD}
|
zcat ${HD_GZ} > ${HD}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
qemu-system-x86_64 -serial stdio -kernel ${KERNEL} -initrd ${INITRD_TEST} -m 1024 -net nic,vlan=0,model=virtio -net user,vlan=0,hostfwd=tcp::2222-:22,hostname=rancher -drive if=virtio,file=${HD} -machine accel=kvm -cpu host -smp 4 -append "console=ttyS0 $@"
|
qemu-system-x86_64 -serial stdio -kernel ${KERNEL} -initrd ${INITRD_TEST} -m 1024 -net nic,vlan=0,model=virtio -net user,vlan=0,hostfwd=tcp::2222-:22,hostname=rancher -drive if=virtio,file=${HD} -machine accel=kvm -cpu host -smp 4 -append "x $@" ${QEMU_ARGS}
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
Reference in New Issue
Block a user