Deploy-Helper是針對軟件開發人員的工件部署的小工具。
我寫了Deploy-Helper,以幫助我在工作時將工件部署到測試網絡中。我可能會為此使用我的IDE,但這並不有趣!
沒有部署助手的步驟:
帶有部署助手的步驟:
默認配置文件deploy-helper.json需要在您的工作目錄中。
示例配置:
{
// Required
"destinations" : [
{
// Name of the destination
"name" : "service1" ,
// Normally you would set a real address or a ip here,
// but you could also use aliases from your ssh config (like I did here)
"address" : "test-network" ,
// The path for our destination (used for the ssh session)
"path" : "/home/user/services/service1/data/" ,
// SSH_COMMANDS (ssh first, then commands) or
// COMMANDS_SSH (commands first, then ssh)
"order" : "SSH_COMMANDS"
} ,
{
"name" : "service2" ,
"address" : "test-network" ,
"path" : "/home/user/services/service1/data/" ,
"order" : "SSH_COMMANDS"
}
] ,
// Required
"artifact" : {
// Directory that contains the artifact
"directory" : "./target" ,
// Name regex that matches the artifact
"name" : "my-software-[\d.A-Za-z-]+\.jar" ,
// Sorting operation for possible artifacts
// LAST_MODIFIED_ASC (oldest file first) or
// LAST_MODIFIED_DESC (newest file first)
"sort" : "LAST_MODIFIED_DESC"
} ,
// Optional
"commands" : [
// Can be either a string or an array of strings
"scp {ARTIFACT_PATH} {SSH_USER}@{DEST_ADDRESS}:{DEST_PATH}{ARTIFACT_NAME}"
] ,
// Optional
"ssh" : {
// If port is > 0, the ssh command will be USER@HOST:PORT
// If the port is <= 0, the ssh command will be USER@HOST
"port" : 0 ,
// How long to wait for the connection to establish
"sleep" : "2000" ,
// The ssh user
"user" : "user" ,
// Plaintext password auth requires 'sshpass'
// "password": "foobar",
"commands" : [
// Commands have to be a string
"rm my-software-*.jar"
]
}
}此示例配置執行以下操作:
rm命令刪除舊工件scp命令將新的工件複製到服務器您還應該將deploy-helper.json添加到.gitignore文件中。
注意:只能有一個人工製品。
{DEST_ADDRESS} :目標地址{DEST_NAME} :目標名稱{DEST_PATH} :目標路徑{SSH_USER} :ssh用戶{SSH_PORT} :SSH端口{ARTIFACT_PATH} :偽影路徑{ARTIFACT_NAME} :偽像名稱
| 長的 | 短的 | 描述 |
|---|---|---|
| -Config | -c | 覆蓋配置位置 |
| - verbose | -v | 如果啟用,則過程輸出將被重定向到stdout&stderr |
| - 目的地 | -d | 覆蓋目的地(逗號分開) |
安裝Deploy-Helper與從最新版本(理論上)下載JAR一樣容易。但是,您可能應該將罐子放在某種中心位置。
這就是我使用ZSH在Linux機上“安裝”部署助手的方式:
sudo mkdir /opt/deploy-helpersudo chown max:max /opt/deploy-helpermv ~/Downloads/deploy-helper-*.jar /opt/deploy-helperecho "alias deploy='java --enable-preview -jar /opt/deploy-helper/deploy-helper-VERSION.jar'" >> ~/.zshrc然後,只需重新打開您的終端(或source ~/.zshrc ),就完成了!
基本命令:
java --enable-preview -jar deploy-helper-VERSION.jar OPTIONS
將命令綁定到別名:
alias deploy='java --enable-preview -jar /opt/deploy-helper/deploy-helper-VERSION.jar'
使用另一個配置運行部署助手:
deploy -c ~/my-deploy-config.json
使用指定目的地運行部署助手:
deploy -d service1,service4,service5
先決條件:
步驟:
git clone https://github.com/cerus/deploy-helper.gitcd deploy-helpermvn clean package請遵循貢獻指南