freebsd-dev/release/Makefile.azure
Glen Barber e5f5cbd42c Append the hour and minute to the snapshot suffix for EC2
AMIs and Azure VM images.  This is particularly helpful for
testing to avoid name collisions, but also useful for cases
where a necessary rebuild is done before the date changes.

MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
2015-06-21 12:37:31 +00:00

54 lines
1.3 KiB
Makefile

#
# $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-%H:%M
.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}