准备条件

开始安装

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. Docker实战(5)升级Docker版本后的报错

    出现情况:因我升级了Centos内核后docker服务无法开启,所做重装处理但还是无效,最终将docker服务做了升级,升级步骤我会放置下面,但在启动老版本容器又出现Error response fr ...

  2. OKR工作法

    OKR 目标与关键成果 [Objectives and Key Results] OKR是目标管理工具,它的价值不在于是否完成OKR,而在于呈现出团队最应该关注的事情,通过持续性的沟通确保每个人都聚焦 ...

  3. redis连接池参数动态化

    有的时候要从后端获取数据,真实的key可能在参数之上做一些修改,查了下set-misc模块,set_unescape_uri命令支持变量替换 location ~ /get_redis$ {      ...

  4. 有向图的基本算法-Java实现

    有向图 有向图同无向图的区别为每条边带有方向,表明从一个顶点至另一个顶点可达.有向图的算法多依赖深度搜索算法. 本文主要介绍有向图的基本算法,涉及图的表示.可达性.检测环.图的遍历.拓扑排序以及强连通 ...

  5. 十分钟快速上手NutUI

    本文将会从 NutUI 初学者的使用入手,对 NutUI 做了一个快速的概述,希望能帮助新人在项目中快速上手. 文章包括以下主要内容 安装引入 NutUI NutUI 组件的使用 NutUI 主题和样 ...

  6. pandas读取MySql/SqlServer数据

    用过的东西总是会忘记,尤其是细节,还是记下来比较靠谱. 读取MySql数据 1 import MySQLdb 2 import pandas as pd 3 4 conn = MySQLdb.conn ...

  7. 基于vue2定义自己的图表echart组件

    先安装echarts cnpm i echarts -S,然后定义父组件 <template> <div> <echarts :option="echartOp ...

  8. spring aop 源码分析(三) @Scope注解创建代理对象

    一.源码环境的搭建: @Component @Scope(scopeName = ConfigurableBeanFactory.SCOPE_SINGLETON,proxyMode = ScopedP ...

  9. mysql 空值(null)和空字符('')的区别

    日常开发中,一般都会涉及到数据库增删改查,那么不可避免会遇到Mysql中的NULL和空字符. 空字符(")和空值(null)表面上看都是空,其实存在一些差异: 定义: 空值(NULL)的长度 ...

  10. Python-序列常用方法 + * += extend append方法区别

    + 两边都是相同序列类型.拼接成一个新的序列 print((1, 2, 3) + (4, 6)) print("beimenchuixue" + "ximenchuife ...