【Azure 批处理 Azure Batch】在Azure Batch中如何通过开始任务自动安装第三方依赖的一些软件(Windows环境)

准备条件

开始安装

1上传需要安装的软件包到Batch Account中的Applications

 

参考文档:

添加新应用程序包:https://docs.azure.cn/zh-cn/batch/batch-application-packages#add-a-new-application-package

 

2创建Pool并添加Start Task

  • Publisher 选择 microsofwindowsserver
  • Offer选择windowsserver
  • Sku选择 2012-r2-datacenter-smalldisk
  • VM Size 选择 Standard A2

 

开启Start Task并设置如下命令, 同时使用Pool Admin权限:

cmd /c msiexec /i %AZ_BATCH_APP_PACKAGE_pythonmsi#3.3.3%\python.msi /l*v msilog.txt /qn

 

注:

  1. cmd /c 为打开shell 命令窗口执行后面附带的命令
  2. msiexec  /i   XXXXX /l*v msilog.txt /qn 为使用命令行后台直接安装软件,无窗口,日志写入文件msilog.txt
  3. %AZ_BATCH_APP_PACKAGE_pythonmsi#3.3.3%\python.msi 是非常重要的一个参数,为第一步上传的应用程序包中的名词和版本,及zip包中的msi文件名, “AZ_BATCH_APP_PACKAGE_部分固定不变

 

变量参数说明请参考文档:https://docs.microsoft.com/zh-cn/azure/batch/batch-compute-node-environment-variables#environment-variables

 

在Pool中添加第一步中上传的软件包引用,这一步与Start Task中需要执行的安装命令紧密相关

 

点击OK等待Pool创建完成。当Node的状态为Idle时,可以查看Start Task的完成状态及查看安装时设置的输出日志msilog.txt

 

验证步骤

  • 查看Start Task状态 (Pool -> Nodes -> Start task info)

 

  • 查看输入日志msilog.txt (Pool -> Nodes -> Files)

 

  • 新加Job Task,使用以下命令分别设置PATH 及查看Python版本号信息

cmd /c setx path "%path%;C:\Python33"

 

C:\Python33 以安装python的路径为准,此处只作为参考

cmd /c python -V

 

在task的输出文件中查看结果:

 

创建Job及Task的参考文档:

创建作业: https://docs.azure.cn/zh-cn/batch/quick-create-portal#create-a-job

创建任务: https://docs.azure.cn/zh-cn/batch/quick-create-portal#create-tasks

 

posted @ 2020-08-17 19:39  路边两盏灯  阅读(298)  评论(1编辑  收藏  举报