迎關注我的頭條號:Wooola,10年Java軟件開發及架構設計經驗,專注於Java、Go語言、微服務架構,致力於每天分享原創文章、快樂編碼和開源技術。
前置條件
1、Linux服務器:推薦Centos7+版本
2、JDK 1.8 +
3、Maven
安裝Alibaba Cloud Toolkit 插件
打開IntelliJ IDEA的File>Settings菜單,找到Plugins模塊
在搜索框輸入:“Alibaba Cloud Toolkit”。注意,IDEA 2016版本搜索是搜不到Alibaba Cloud Toolkit插件,親測。
點擊“Install”按鈕,進行安裝。
重啟IDEA
再次打開IDEA提示:”Welcome to use Cloud Toolkit“
親愛的工程師:
藉助 Cloud Toolkit,你可以將你的代碼一鍵 部署到阿里雲 ECS 上去,當然,如果你尚未接觸阿里雲,此插件同樣能夠幫助你將代碼 部署到任意服務器 中去; 如果你是阿里雲 EDAS 或者 Kubernetes 用戶,利用 Cloud Toolkit,極速 部署代碼到 EDAS 和 Kubernetes 也將變得輕而易舉; 此外,藉助提供的內置 Terminal,完成 遠程服務器登陸 和 文件上傳,甚至你都無需離開 IDEA; 最後,Cloud Toolkit 插件也是你使用阿里雲的得力助手,在 IDEA 內,你可以直接 管理你的 ECS 和 RDS 等資源;
新建SpringBoot程序:cloud-toolkit-demo
添加Pom依賴
編寫application.yml,添加如下內容:
啟動類
在IDEA配置Cloud Toolkit連接服務器Host認證信息
右擊選中cloud-toolkit-demo項目,找到Alibaba Cloud菜單,選擇”Deploy to Host“
會看到Alibaba Cloud View模塊
添加右上角的”Add Host“按鈕,彈出添加”Add Host“ 窗口
參數說明:
- Host List:可以指定多個Host地址,每添加一個host地址,用換行隔開
- Port:一般Linux服務器默認端口:22,默認就行
- Profile Name:自定義個有意義的名字
- Method:有兩種校驗模式,第一種是密碼模式,比如用戶登錄Linux服務的ssh賬號密碼:root/1234456;第二種是一種私有密鑰
最終Host配置
發佈程序
編寫啟動腳本:demo.sh
# port
port=8081
# query pid
pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }');
# kill pid
if [ -n "$pid" ]; then
kill -9 $pid;
fi
# startup
nohup java -jar /home/demo/cloud-toolkit-demo-1.0.0.jar > demo.log 2>&1 &
腳本邏輯說明
通過程序端口:8081,找到對應程序的進程ID,用kill殺掉進程ID,然後用“nohup java -jar”的方式重新啟動應用。
添加Command
sh /home/wooola/demo.sh
選中cloud-toolkit-demo工程,右擊選擇Alibaba Cloud > Deploy to Host菜單。
彈出Deploy to Host窗口
填寫發佈服務器配置參數
File:Maven Build
上傳服務器Host(Target Host)地址
上傳包路徑(Target Directory)
啟動腳本(After deploy)
點擊“Run”按鈕進行Maven構建Jar包及包上傳。
參數說明
- File:選擇“Maven Build”,表示用maven打包工程
- Target Host 表示上傳Jar包到指定服務器
- Target Directory 表示上傳Jar包的存儲路徑
- After deploy 表示Jar包上傳完成後,立即執行的啟動腳本
Maven install執行窗口
Deploy to Host執行窗口
驗證
cloud-toolkit-demo-1.0.0.jar已發佈到Linux服務器
用ps命令驗證程序是否啟動成功
從瀏覽器輸入:http://ip:8080/
到此,基於Idea使用Alibaba Cloud Toolkit自動發佈Web程序完成,小夥伴們趕緊試試吧。
閱讀更多 Wooola 的文章