准备条件

开始安装

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

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

  1. 离线安装python第三方库的实用方法:解决公司内网,服务器/电脑不能上网却需要安装python三方库问题(上:Windows环境中)

    问题描述: 公司的windows电脑是内网,今天需要安装一个Twisted库,用过的应该都晓得,很常见的异步库,但是仅仅依靠Pypi上下载下来的离线.whl安装包是不行的,linux服务器都是远程连接 ...

  2. 在Azure Ubunt Server 14.04虚机中使用Deep-Visualization-Toolbox

      参考网站 a)   https://zhuanlan.zhihu.com/p/24833574?utm_source=tuicool&utm_medium=referral b)   ht ...

  3. 如何实现Azure虚拟网络中点到站VPN的自动重连

     在Windows Azure早期版本中,用户要在某台Azure平台之外的机器与Azure平台内部的机器建立专用连接,可以借助Azure Connect这个功能.当前的Azure版本,已经没有Az ...

  4. SQL Azure (14) 将云端SQL Azure中的数据库备份到本地SQL Server

    <Windows Azure Platform 系列文章目录> 注意: 1.只有SQL Server 2012 CU4及以上版本才支持本章内容 2.当你的数据库文件很大时,建议优化以下内容 ...

  5. Azure Automation (2) 定期删除存储账号中的文件

    <Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China. 本文是对笔者之前的文档Azure Backup (1) 将SQL ...

  6. 如何将Azure SQL 数据库还原到本地数据库实例中

    原文:https://www.jerriepelser.com/blog/restore-sql-database-localdb/ 原文作者: Jerrie Pelser 译文:如何将Azure S ...

  7. Azure Tips 第一期: Azure 中的安全监视工具,数据存储, 动态数据屏蔽以及资源部署

    # 1 Azure 中的安全监视工具 微软 Azure 云提供以下监控工具,可用于观察操作和检测异常行为. Azure 安全中心 Azure 安全中心是一个统一的基础结构安全管理系统,可以增强数据中心 ...

  8. 【Azure 环境】在Windows环境中抓取网络包(netsh trace)后,如何转换为Wireshark格式以便进行分析

    问题描述 如何在Windows环境中,不安装第三方软件的情况下(使用Windows内置指令),如何抓取网络包呢?并且如何转换为Wireshark 格式呢? 操作步骤 1) 以管理员模式打开CMD,使用 ...

  9. SQL Azure (16) 创建PaaS SQL Azure V12数据库

    <Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China 最新的Azure PaaS SQL Database(SQL Azu ...

随机推荐

  1. apche编译安装

    常见的网页类型:htm,html,shtml,stm.php,asp,aspx,shtm,jsp等等Apache本事只处理静态页面,处理动态页面需要使用libphp5.so这个模块去工作,编译php也 ...

  2. springboot完整项目,基于人人开源框架

    这是前端和数据库 下载链接只有31天有效,需要的,请联系QQ2319899766 下载链接密码: 9ksz 这个是后端代码 链接只有31天有效时间,链接失效请联系QQ2319899766提供下载链接 ...

  3. 关于Apache报错 couldn't perform authentication. AuthType not set!

    今天在使用apache搭建yum的web服务时,配置完成后.访问http://ip 时,浏览器报错:500 Internal Server Error 然后查询error.log发现,有如下错误提示: ...

  4. volatile关键字解释和使用

    一.java内存模型的相关概念:原子性.可见性与有序性 原子性: 原子是世界上的最小单位,具有不可分割性.比如 a=0:(a非long和double类型) 这个操作是不可分割的,那么我们说这个操作时原 ...

  5. Oracle学习(四)SQL高级--表优化相关(序列、视图等)

    INDEX(索引) 可以在表中创建索引,以便更加快速高效地查询数据. 用户无法看到索引,它们只能被用来加速搜索/查询. PS:更新一个包含索引的表需要比更新一个没有索引的表花费更多的时间,这是由于索引 ...

  6. Java源码赏析(五)再识 String 类

    在 Java源码赏析(三)初识 String 类   中,我们已经大概理解了String的接口,接下来我们描述一下String的常用工具方法. /** * 为了精简的String结构,之前提到的方法省 ...

  7. Codeforces Round #673 (Div. 2)

    [Codeforces Round #673 (Div. 2) ] 题目链接# A. Copy-paste 思路: 贪心的策略.每次只加上最小的就可以了 #include<bits/stdc++ ...

  8. Centos-搜索文件或目录-find

    find 在指定的目录下查找指定的文件 相关选项 -type 指定文件类型 -name   指定文件名字,支持通配符 -gid   指定用户组ID -uid   指定用户ID -empty 查找长度为 ...

  9. python3 进行接口测试

    最近有研究接口测试,然后查了查资料,发现有两种方法,一种是使用urllib库,一种是使用requests库.而在这里,我使用的是requests库,为什么要用这个呢? 从官方文档看出,python的标 ...

  10. django rest_framework serializer的ManyRelatedField 和 SlugRelatedField使用

    class BlogListSerializer(serializers.Serializer): id = serializers.IntegerField() user = BlogUserInf ...