diff options
author | gjb <gjb@FreeBSD.org> | 2015-06-18 19:20:00 +0000 |
---|---|---|
committer | gjb <gjb@FreeBSD.org> | 2015-06-18 19:20:00 +0000 |
commit | a8ea24e3799ced93e9545dfec0d248cf03fc682a (patch) | |
tree | f600a9327429dc11def443cd254262410176f9c4 /release | |
parent | 38dbbbe90eae2f0604c443b6b4e0f7952ccd80db (diff) | |
download | FreeBSD-src-a8ea24e3799ced93e9545dfec0d248cf03fc682a.zip FreeBSD-src-a8ea24e3799ced93e9545dfec0d248cf03fc682a.tar.gz |
Add Makefile.azure, used to upload VHD images to the
Microsoft Azure environment, similar to the EC2 AMIs.
MFC after: 3 days
Tested with: stable/10@r284517 (patched)
Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'release')
-rw-r--r-- | release/Makefile.azure | 53 | ||||
-rw-r--r-- | release/Makefile.vm | 1 |
2 files changed, 54 insertions, 0 deletions
diff --git a/release/Makefile.azure b/release/Makefile.azure new file mode 100644 index 0000000..01e2204 --- /dev/null +++ b/release/Makefile.azure @@ -0,0 +1,53 @@ +# +# $FreeBSD$ +# +# +# Makefile for uploading Microsoft Azure disk images. +# + +AZURE_IMG?= ${.OBJDIR}/azure.vhdf +AZURE_UPLOAD_TGTS= azure-check-depends \ + azure-do-upload +CLEANFILES+= ${AZURE_UPLOAD_TGTS} + +.if defined(AZURE_UPLOAD_CONF) && !empty(AZURE_UPLOAD_CONF) +. for VAR in _STORAGE _ACCOUNT _KEY +AZURE${VAR}!= grep -E ^AZURE${VAR} ${AZURE_UPLOAD_CONF} | awk -F' ' '{print $$2}' +. endfor +.endif + +.if ${BRANCH} == "STABLE" || ${BRANCH} == "CURRENT" +SNAPSHOT_DATE!= date +-%Y-%m-%d +.endif + +AZURE_TARGET:= ${OSRELEASE}${SNAPSHOT_DATE}.vhd + +azure-upload: ${AZURE_UPLOAD_TGTS} + +azure-check-depends: +.for VAR in _STORAGE _ACCOUNT _KEY +. if !defined(AZURE${VAR}) || empty(AZURE${VAR}) + @echo "Variable AZURE${VAR} cannot be empty." + @false +. endif +.endfor +.if !exists(/usr/local/bin/azure) +. if !exists(/usr/local/bin/npm) +. if !exists(${PORTSDIR}/www/npm/Makefile) +. if !exists(/usr/local/sbin/pkg-static) + env ASSUME_ALWAYS_YES=yes pkg bootstrap -yf +. endif + env ASSUME_ALWAYS_YES=yes pkg install -y www/npm +. else + make -C ${PORTSDIR}/www/npm BATCH=1 all install clean +. endif +. endif + npm install -g azure-cli +.endif + +azure-do-upload: + /usr/local/bin/azure storage blob upload \ + ${AZURE_IMG} ${AZURE_STORAGE} ${AZURE_TARGET} \ + -t page -a ${AZURE_ACCOUNT} -k "${AZURE_KEY}" + touch ${.OBJDIR}/${.TARGET} + diff --git a/release/Makefile.vm b/release/Makefile.vm index 6599702..ae7c3aa 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -154,3 +154,4 @@ cloudware-install: .endif .include "${.CURDIR}/Makefile.ec2" +.include "${.CURDIR}/Makefile.azure" |