假设我有一个目录"foo",其中包含我的Azure Function Project,它是在TypeScript中构建的。我的结构类似于Azure Function的JavaScript文档中描述的结构(TypeScript文件夹结构与JavaScript文件夹结构非常相似)。我现在想创建一个zip文件,可以使用zip部署机制将其发布到Azure。如何手动创建zip文件,然后将其发布到Azure函数?
注意 :我使用Azure Function Core Tools启动了该项目,并在macOS 上的Visual Studio代码中进行开发
首先,您需要构建您的项目。在TypeScript的情况下,这涉及到执行:
npm install
npm run build:production
然后,假设您正在使用bash shell,您可以使用以下命令手动创建zip文件:
zip -r app.zip . --exclude @.funcignore --exclude .funcignore
此命令告诉zip
压缩当前目录中的所有内容,但.funcignore和.funcignorefile本身中的内容除外。
此命令完成后,您可以使用以下Azure CLI命令部署到Azure:
az functionapp deployment source config-zip -g ${MY_RESOURCE_GROUP} -n ${MY_APP_NAME} --src app.zip
MY_RESOURCE_GROUP是您要发布到的Azure中的资源组,MY_APP_NAME则是您的应用程序的名称。(注意:您必须首先使用CLI登录Azure)。