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
This commit is contained in:
Glen Barber 2015-06-18 19:20:00 +00:00
parent efb5228ce8
commit 873fc70382
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=284567
2 changed files with 54 additions and 0 deletions

53
release/Makefile.azure Normal file
View File

@ -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}

View File

@ -154,3 +154,4 @@ cloudware-install:
.endif
.include "${.CURDIR}/Makefile.ec2"
.include "${.CURDIR}/Makefile.azure"