日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

如何在云服務虛擬機上安裝軟件、下載文件?

系統 2024 0

云服務是通過兩個文件進行發布的,一個是cspkg,包含所有程序代碼,一個是cscfg,包含配置信息。如果要在云服務的虛擬機上安裝軟件或者拷貝文件,簡單的做法是把要裝的軟件和文件打包在cspkg里面,然后在csdef里面定義啟動腳本,進行軟件的自動化安裝或者文件拷貝。下面看一個簡單的例子

比如我們要把一個test.dll文件拷貝到目標虛擬機的系統目錄下,而不是僅僅放在Webrole/worker role的缺省目錄下,那么我們需要這樣做:

首先,把這個dll放到Azure Role的代碼目錄內,比如web role/worker role的根目錄

如何在云服務虛擬機上安裝軟件、下載文件?

查看文件屬性,確保生成操作為“內容”

如何在云服務虛擬機上安裝軟件、下載文件?

如果當前是workerrole,還需要將待拷貝的文件復制屬性改為“較新則復制”。這會讓該文件復制到bin目錄下,而Bin目錄會成為worker role的approot。而Web role則不需要修改,因為Web role的app root就是項目根目錄


此時如果我們打包該項目,然后將輸出的cspkg解壓縮,可以發現該文件出現在了目標role的approot目錄下

如何在云服務虛擬機上安裝軟件、下載文件?

接下來,我們需要讓Azure進行文件的自動拷貝。打開項目的csdef文件,找到相應Role的定義,添加<startup>段落,定義拷貝命令

    <WebRole name="GuestBook_WebRole" vmsize="Small">
....
....
....
    <Startup>
      <Task commandLine="copy test.dll %windir%" executionContext="elevated" taskType="simple" />
    </Startup>
</WebRole>

  
其中,executionContext是執行權限。如果是elevated,表示以管理員權限執行,如果是limited,則以普通用戶權限執行

至此,我們再發布該應用,就會實現test.dll的自動拷貝。如果要安裝應用程序,可以把startup定義里面的commandline換位應用的靜默安裝命令。一般的應用都支持靜默安裝,命令一般為 xxxx.exe /silent。具體參數可以通過xxxx.exe /?查詢

有時候commandline沒有這么簡單,不能寫到一行里面。此時最好單獨創建一個setup.cmd腳本文件,將需要執行的命令寫好。然后在startup的commandline里面寫setup.cmd.該腳本文件的放置方法跟前面test.dll相同。


由于每次發布都需要上傳cspkg,顯然cspkg不能太大。如果要打包的安裝程序或者文件太大,那么不建議把他們和cspkg打包在一起,而是事先上傳到Azure的Blob存儲上,然后在startup腳本里面進行文件的下載

把文件進行事先上傳很簡單。那么怎么在startup腳本里面進行下載呢?我們需要一個工具進行文件的下載

將這里的壓縮包(http://download.csdn.net/detail/shaunfang/5390215)解壓到本地Azure項目的目標Role根目錄下,確保文件屬性的生成操作為“內容”。如果是worker role,需要修改復制屬性為“較新則復制”

如何在云服務虛擬機上安裝軟件、下載文件?

這里包括幾個文件,分別是Blob的客戶端dll,下載和解壓縮腳本等

然后,在role根目錄下創建一個download.bat的文件,里面填寫下載、解壓縮和安裝代碼:

    cmd /c util\wash.cmd blob download "ImageMagick-6.8.0-vc9.zip" "ImageMagick-6.8.0-vc9.zip" phpsetup filestore "xxxxxxxxxx"
cscript /NoLogo util\unzip.vbs "ImageMagick-6.8.0-vc9.zip" .
copy ImageMagick-6.8.0-vc9\* "%ProgramFiles(x86)%\PHP\v5.3\"
  
其中,第一行是進行文件的下載。"ImageMagick-6.8.0-vc9.zip"是文件名,phpsetup是container名,filestore是存儲賬號名,最后是存儲的密鑰
第二行是zip解壓縮

第三行是文件拷貝


之后,修改startup的commandline為download.bat即可。在正式發布服務前,可在本地先手動執行下download.bat,看看能否正確下載安裝


關于startup的詳細說明,可以參考http://msdn.microsoft.com/en-us/library/windowsazure/gg456327.aspx

如何在云服務虛擬機上安裝軟件、下載文件?


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 西平县| 二手房| 合水县| 延川县| 老河口市| 遂昌县| 西畴县| 芦山县| 贞丰县| 云南省| 普兰县| 赤水市| 滕州市| 晋江市| 大埔区| 双流县| 肇源县| 梁河县| 政和县| 富蕴县| 日照市| 科尔| 株洲市| 来宾市| 二连浩特市| 手游| 敦化市| 云南省| 高阳县| 海安县| 湖州市| 临朐县| 惠来县| 隆回县| 鱼台县| 繁昌县| 太仆寺旗| 商城县| 湖南省| 寻乌县| 敖汉旗|