![阿里云AppDeploy使用手冊(cè)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/15/f788863b-517e-4819-a130-d76e65aa4b33/f788863b-517e-4819-a130-d76e65aa4b331.gif)
![阿里云AppDeploy使用手冊(cè)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/15/f788863b-517e-4819-a130-d76e65aa4b33/f788863b-517e-4819-a130-d76e65aa4b332.gif)
![阿里云AppDeploy使用手冊(cè)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/15/f788863b-517e-4819-a130-d76e65aa4b33/f788863b-517e-4819-a130-d76e65aa4b333.gif)
![阿里云AppDeploy使用手冊(cè)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/15/f788863b-517e-4819-a130-d76e65aa4b33/f788863b-517e-4819-a130-d76e65aa4b334.gif)
![阿里云AppDeploy使用手冊(cè)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/15/f788863b-517e-4819-a130-d76e65aa4b33/f788863b-517e-4819-a130-d76e65aa4b335.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、阿里云 AppDeploy 使用手冊(cè)阿里云 CTO Office 開發(fā)者效率團(tuán)隊(duì)2015.08版權(quán)所有 侵權(quán)必究 目錄1 介紹 . . 32 功能 . . 33 安裝 . . 44 使用說明 . 6 4.1 獲取、設(shè)置 Access Key . 7 4.2 環(huán)境變量 . 8 4.3 執(zhí)行命令 . 9 4.4 并發(fā)執(zhí)行 . 10 4.5 文件傳輸 &遠(yuǎn)端執(zhí)行 &一鍵更新源 . 114.6 Web環(huán)境安裝、應(yīng)用打包部署 . . 125 最佳實(shí)踐 . 13 5.1 Hello World . 14 5.2 Nginx 遠(yuǎn)程部署 . 15 5.3 Shell腳本文件執(zhí)行 . 175.4 一鍵環(huán)境安裝、
2、應(yīng)用編譯打包發(fā)布 . 186 常見問題 . 191 介紹阿里云 AppDeploy 是一個(gè)通過 SSH 實(shí)現(xiàn)的流式命令行工具,可用于完成應(yīng)用部署和遠(yuǎn)程系 統(tǒng)管理, 其工作于 python2.5-2.7平臺(tái)上, 具有良好的可移植性; AppDeploy 將本地應(yīng)用軟件 上傳到遠(yuǎn)端服務(wù)器, 并通過執(zhí)行用戶預(yù)定義的產(chǎn)品部署命令, 靈活的、 便捷的、高效的為阿 里云用戶實(shí)現(xiàn)應(yīng)用遠(yuǎn)程部署提供穩(wěn)定的工作環(huán)境。AppDeploy 使用自然語言對(duì)部署任務(wù)進(jìn)行描述,通過簡(jiǎn)單的編輯規(guī)則,您可以像書寫自然語 言一樣描述您的部署任務(wù), AppDeploy 將依據(jù)您寫的自然語言描述文件部署、 管理您的應(yīng)用。 2 功能1
3、 遠(yuǎn)程應(yīng)用部署:用戶可以使用 AppDeploy 將本地應(yīng)用軟件安裝部署到遠(yuǎn)程云服務(wù)器上, 軟件包可以在本地編譯打包好,也可以選擇在云服務(wù)器編譯安裝。2 遠(yuǎn)程服務(wù)管理:您可以使用 AppDeploy 遠(yuǎn)程執(zhí)行 shell 腳本,讓遠(yuǎn)程機(jī)器的操作命令感 覺在本地執(zhí)行一般,大大的提高開發(fā)者的工作效率。3 文件上傳下載:您可以在本地主機(jī)和遠(yuǎn)程服務(wù)器間實(shí)現(xiàn)上傳、下載文件的功能。4 同時(shí)控制多臺(tái)服務(wù)器:基于大型軟件的部署場(chǎng)景, AppDeploy 提供同時(shí)在多臺(tái)服務(wù)器部 署軟件的功能,且可以選擇順序執(zhí)行或者并發(fā)執(zhí)行的運(yùn)行模式。5 一鍵環(huán)境安裝:一鍵安裝 Web 運(yùn)行環(huán)境,支持 JDK 、 Nginx 、
4、 Apache 、 Tomcat 、 PHP 、 Mysql 等多版本,您可以根據(jù)業(yè)務(wù)選擇安裝;6 一鍵應(yīng)用部署:可以一鍵編譯、打包、部署常見的應(yīng)用,支持 Maven 、 Ant 等打包部署 的安裝方式;7 一鍵式更新源:執(zhí)行 AppDeploy 自定義命令更新系統(tǒng)源, 支持 Ubuntu 、 Centos 、 Redhat 、 Opensuse 、 Debian 等系統(tǒng)的主流版本;8 賬號(hào)密碼管理:基于用戶復(fù)雜的應(yīng)用場(chǎng)景, 為用戶提供靈活、 易用的賬號(hào)密碼管理功能, 用戶可以設(shè)置免密碼輸入運(yùn)行,且可為不同主機(jī)設(shè)置不同密碼。3 安裝Linux 系統(tǒng)平臺(tái)安裝:預(yù)先安裝好 python2.7(一般
5、在 /usr/local/lib/python2.7 ;4. 執(zhí)行:$apde命令,若果能找到命令說明安裝完成; Windows 系統(tǒng)安裝:預(yù)先安裝好 python2.7(一般安裝在 C:/Python27 ;3. 雙擊 setup.exe (確定預(yù)先安裝 python2.7 ,出現(xiàn)如下 AppDeploy 的安裝視圖,安裝目錄 應(yīng)該選擇 Python2.7的安裝目錄下的 Libsite-packets子目錄; 4. 根據(jù)向?qū)е钡桨惭b完成;5. 設(shè)置環(huán)境變量:環(huán)境變量一般為自動(dòng)設(shè)置,不過這里您可以確認(rèn)一下,以保證正常運(yùn)行;右鍵“計(jì)算機(jī)” 選擇屬性 選擇“高級(jí)系統(tǒng)設(shè)置” 選擇高級(jí) 選擇 “環(huán)境變
6、 量” :添加環(huán)境變量,名字(APPDEPLOY 值(C:Python27Libsite-packages ;在 path 系統(tǒng)變量中添加“ C:Python27; %APPDEPLOY%;” ,為 AppDeploy 和 Python2.7的 安裝目錄;6. 驗(yàn)證:打開 cmd 命令行工具,輸入:python ,如果能運(yùn)行,則說明 python 安裝成功;輸入:adep ,如果顯示下面日志,則說明安裝成功;Mac 系統(tǒng)安裝:(請(qǐng)預(yù)先安裝好 python2.74. 進(jìn)入命令行執(zhí)行 $ adep,出現(xiàn)如下視圖說明安裝成功: 4 使用說明AppDeploy 是一個(gè)基于 Python 實(shí)現(xiàn)的命令行工
7、具,通過 SSH 通道自動(dòng)執(zhí)行部署命令、遠(yuǎn)程 管理、傳輸文件。執(zhí)行 AppDeploy 前您需要準(zhǔn)備:應(yīng)用的安裝包、部署腳本、配置文件等。作的。AppDeploy 有兩種使用方式:通過命令行,執(zhí)行一條命令,格式:$ adep options - shell commandOption 為命令選項(xiàng), “ -”為分割符,后面的字符都會(huì)當(dāng)做 shell 命令在遠(yuǎn)端執(zhí)行; 例如:查看遠(yuǎn)程機(jī)器 nginx 運(yùn)行情況 還可以通過命令行格式執(zhí)行文件傳輸和遠(yuǎn)程命令,詳見 4.3節(jié);PS :這種方式使用方便,可以靈活、快速的執(zhí)行您想執(zhí)行的命令,但實(shí)現(xiàn)的功能相對(duì)簡(jiǎn) 單,大部分情況下,您可以使用下面的方式實(shí)現(xiàn)您的具
8、體任務(wù);通過編輯描述文件(appdeploy.txt 文件,在文件中定義任務(wù)(任務(wù)的實(shí)現(xiàn)細(xì)節(jié) ,并在 命令行執(zhí)行 $ adep task1 task2(文件中定義的任務(wù)名的方式執(zhí)行定義的任務(wù);任務(wù)描述文件(默認(rèn)為 ./appdeploy.txt的編寫規(guī)則: 下面分別介紹 AppDeploy 定義的環(huán)境變量、操作命令、并發(fā)執(zhí)行等細(xì)節(jié):4.1 獲取、設(shè)置 Access Key 第一步:登錄阿里云首頁,并登錄賬號(hào); 第二步:點(diǎn)擊進(jìn)入管理控制臺(tái)和 Access keys頁面; 第三步:讀取 Access Key ID和 Access Key Secret的值,如果沒有則需要先創(chuàng)建一個(gè)。得到的 Acce
9、ss Key ID和 Access Key Secret通過以下方式配置到 AppDeploy 中。在 Appdeploy.py 描述文件中設(shè)置 ak_id(Access Key ID和 ak_sec(Access Key Secret變量;4.2 環(huán)境變量 Hosts 變量詳細(xì)說明:用來定義需要連接的服務(wù)器集合, 在執(zhí)行 appdeploy.txt 中任務(wù)時(shí)會(huì)在 Hosts 定義的每個(gè)服務(wù) 器上運(yùn)行一遍;也可以定義為:hosts = host1, user2host2, host3,表示一共三個(gè)遠(yuǎn)端服務(wù)器 host1、 host2、 host3,其中 host2使用 user2登錄, hos
10、t1和 host3使用 user 定義的值;例如:在 appdeploy.txt 中定義:hosts = host1, host2 task1run( ls 則執(zhí)行:$ adep task1時(shí),會(huì)在 host1、 host2上分別執(zhí)行 ls 命令;User 詳細(xì)說明:定義遠(yuǎn)程服務(wù)器的登錄名,如果沒有定義,則默認(rèn)為當(dāng)前機(jī)器的用戶名;例如:user = user1Password & Passwords詳細(xì)說明:首先推薦使用 SSH 提供的密鑰管理機(jī)制來實(shí)現(xiàn)免密碼輸入模式,可查閱相關(guān)資料; AppDeploy 提供了兩層管理密碼的機(jī)制:如果您的 servers 的密碼都相同,可以通過在 passw
11、ord 中設(shè)置統(tǒng)一默認(rèn)密碼;如果每個(gè) server 的密碼不同, 可以在 passwords 中設(shè)置 host :password 對(duì)應(yīng)表, 對(duì)每個(gè) server 設(shè)置單獨(dú)的密碼; host 的格式:userhost:port;例如:password= xxxxx parallel 詳細(xì)說明:詳見并發(fā)執(zhí)行章節(jié);4.3 執(zhí)行命令您可以通過一些常用的命令集快速書寫您的部署描述文件; Get 命令詳細(xì)說明: Put 命令詳細(xì)說明: Prompt 命令詳細(xì)說明: 4.4 并發(fā)執(zhí)行Appdeploy 默認(rèn)是串行執(zhí)行所有命令的。其本身不是線程安全的,所以它用多進(jìn)程的方式為 每個(gè)任務(wù)啟動(dòng)一個(gè)新進(jìn)程。AppD
12、eploy 有兩種方式執(zhí)行并發(fā)執(zhí)行任務(wù):1 在命令行執(zhí)行任務(wù)時(shí)添加 -P 選項(xiàng),則執(zhí)行的所有任務(wù)都會(huì)在不同的服務(wù)器之間并發(fā)執(zhí) 行,但不同任務(wù)之間依然按照順序執(zhí)行進(jìn)行;例如:$ adep -P -H host1,host2 update reload執(zhí)行結(jié)果update on host1 and host2reload on host1 and host22 通過在 appdeploy.txt 文件中設(shè)置 parallel=True來表明任務(wù)會(huì)被并行執(zhí)行;例如:parallel=True task1pass task2pass$ adep -H host1,host2,host3 task1 t
13、ask2結(jié)果:Task1 on host1, host2, and host3Task2 on host1, host2, and host34.5 文件傳輸 &遠(yuǎn)端執(zhí)行 &一鍵更新源AppDeploy 通過兩種方式實(shí)現(xiàn)文件的上傳、下載,以及 shell 命令在遠(yuǎn)端執(zhí)行;1 通過命令行類似 shell 命令的方式實(shí)現(xiàn):具體操作的哪些服務(wù)器、用戶名、密碼信息由 appdeploy.txt 文件定義;文件上傳命令格式:$ adep put:localfile,remoteFolder“ put ” 、 ” :” 、 ” localFile ” 、 ” , ” 、 ” remoteFolder ”
14、之間都沒有空格;LocalFile :本地上傳文件路徑及名字, RemoteFolder :上傳到服務(wù)器的具體目錄; 文件下載命令格式:$ adep get:remoteFile,localFolder” get ” 、 ” :” 、 ” remoteFile ” 、 ” , ” 、 ” localFolder ” 之間都沒有空格;RemoteFile :從服務(wù)器上下載的文件名, localFolder :下載文件本地存放目錄; 命令遠(yuǎn)程執(zhí)行格式 :$ adep run:shellCommand“ run ” 、 ” :” 、 ” shellCommand ” 之間都沒有空格;ShellCom
15、mand :指遠(yuǎn)端執(zhí)行的命令,有空格時(shí)要用引號(hào)引起來;下面以文件上傳為例:appdeploy.txt 中變量定義為:user = root # userpassword= xxx # password執(zhí)行 $ adep put:./install.sh,/root/執(zhí)行結(jié)果:adep 把 install.sh 分別上傳到兩臺(tái)服務(wù)器上的 /root目錄下;2 通過在描述文件中 put 、 get 、 run 命令實(shí)現(xiàn),具體實(shí)現(xiàn)細(xì)節(jié)參考“ ” ;一鍵更新源功能可以執(zhí)行命令 :$ adep update_source可以更新服務(wù)器端的源配置,支持 Ubuntu 、 Centos 、 Redhat 、
16、 Opensuse 、 Debian 等系統(tǒng)的 多個(gè)版本源更新功能;4.6 Web環(huán)境安裝、應(yīng)用打包部署AppDeploy 可以實(shí)現(xiàn)一鍵 Web 環(huán)境安裝和應(yīng)用打包部署的功能。 Web 環(huán)境安裝:1 編輯appdeploy.txt 文件,輸入希望運(yùn)行的web 環(huán)境組件。2 定義一個(gè)任務(wù)并調(diào)用 appdeploy 內(nèi)置函數(shù):install_runtime(para,參數(shù) para 為想要安裝 的 web 組件細(xì)節(jié),使用 json 格式輸入,例如:應(yīng)用的編譯、打包、部署:Appdeploy 內(nèi)置的編譯打包命令為:package(para;Appdeploy 內(nèi)置的應(yīng)用部署命令為:deploy(pa
17、ra; 下面例子表示一個(gè) maven 編譯打包部署的方案: 在命令行執(zhí)行: $ adep pack_deploy 完成編譯、打包、部署的功能;5 最佳實(shí)踐通過 AppDeploy 可以實(shí)現(xiàn)遠(yuǎn)程應(yīng)用部署、遠(yuǎn)程管理、文件上傳下載、同時(shí)控制多臺(tái)服務(wù)器、 賬號(hào)密碼管理等功能,下面給出多個(gè)經(jīng)典使用例子供您參考; 5.1 Hello World下面介紹一個(gè)最簡(jiǎn)單的應(yīng)用:編輯 appdeploy.txtak_id =xxxxxxxx # Access Key IDak_sec =xxxxxxx # Access Key Secretuser = root #定義服務(wù)器登錄用戶名password=xxx #定
18、義登錄密碼task #定義任務(wù)和任務(wù)名run( echo “Hello world!” 執(zhí)行這個(gè)任務(wù), cd 到文件相同目錄下并執(zhí)行命令:$ adep task;結(jié)果如下:5.2 Nginx 遠(yuǎn)程部署在 Linux 平臺(tái)安裝、啟動(dòng) nginx ;1 準(zhǔn)備應(yīng)用安裝包 & 依賴包 & 配置文件(nginx, openssl, pcre, zlib等,因?yàn)?nginx 安裝 包依賴 openssl 、 pcre 、 zlib 等開源庫,這里一起安裝實(shí)現(xiàn)。2 編輯執(zhí)行文件:appdeploy.txt (默認(rèn)文件名 , 定義:環(huán)境變量值、 部署、 啟動(dòng)、 停止 nginx 的任務(wù)細(xì)節(jié)等。請(qǐng)查看精簡(jiǎn)的 appdeploy.txt 內(nèi)容(下一頁所示 。3 類似上述方式,還可定義更多的任務(wù)(函數(shù)供 adep 調(diào)用。阿里云應(yīng)用部署方案 - AppDe
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 初級(jí)銀行業(yè)法律法規(guī)與綜合能力-初級(jí)銀行從業(yè)資格考試《法律法規(guī)與綜合能力》押題密卷2
- DB31T1110.1-食品和食用農(nóng)產(chǎn)品全鏈條信息追溯 第1部分:追溯編碼與標(biāo)識(shí)規(guī)范編制說明
- 特困人員申請(qǐng)書
- 設(shè)計(jì)用戶友好的RESTful接口
- 2024-2025學(xué)年浙江省溫州市高二(上)期末地理試卷(B卷)
- 電大政治學(xué)原理考試題答案
- DB2111-T 0028-2023 植保無人飛機(jī)噴施農(nóng)藥防治水稻病蟲害技術(shù)規(guī)程
- 煙草零售許可證申請(qǐng)書
- 編外勞動(dòng)合同(2篇)
- 四川省眉山市仁壽縣2024-2025學(xué)年高一上學(xué)期1月期末聯(lián)考物理試題(解析版)
- 烈士褒揚(yáng)課件教學(xué)課件
- 公務(wù)用車分時(shí)租賃實(shí)施方案
- 《論語》原文-翻譯-完整版
- 退休延期留用崗位協(xié)議書
- 中醫(yī)適宜技術(shù)-中藥熱奄包
- 壓瘡的預(yù)防和護(hù)理
- 《手衛(wèi)生知識(shí)培訓(xùn)》培訓(xùn)課件
- 算力時(shí)代全光網(wǎng)架構(gòu)研究報(bào)告(2024年)
- 2024年江蘇省淮安市中考英語試題卷(含答案解析)
- 2025屆高考作文素材:《黑神話 悟空》高考作文和素材運(yùn)用
- 譯林版八年級(jí)英語下冊(cè)英語單詞(帶默寫版)
評(píng)論
0/150
提交評(píng)論