Deploy-Helperは、ソフトウェア開発者をターゲットにしたアーティファクト展開のための小さなツールです。
Deploy-Helperを作成して、物事に取り組んでいるときにアーティファクトをテストネットワークに展開するのに役立ちました。私はおそらくそのために私のIDEを使用できたかもしれませんが、それは面白くありません!
Deploy-Helperのないステップ:
Deploy-Helperのステップ:
デフォルトの構成ファイルdeploy-helper.json作業ディレクトリにある必要があります。
configの例:
{
// 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コマンドを実行して、新しいアーティファクトをサーバーにコピーしますまた、 .gitignoreファイルにdeploy-helper.jsonを追加する必要があります。
注:アーティファクトは1つしかありません。
{DEST_ADDRESS} :宛先アドレス{DEST_NAME} :宛先名{DEST_PATH} :宛先パス{SSH_USER} :sshユーザー{SSH_PORT} :sshポート{ARTIFACT_PATH} :artifactパス{ARTIFACT_NAME} :artifact name
| 長さ | 短い | 説明 |
|---|---|---|
| -config | -C | 構成場所をオーバーライドします |
| --verbose | -v | 有効にした場合、プロセス出力はstdout&stderrにリダイレクトされます |
| - 行き先 | -d | 目的地をオーバーライドする(コンマの分離リスト) |
Deploy-Helperのインストールは、最新リリース(理論的に)からJARをダウンロードするのと同じくらい簡単です。ただし、おそらく瓶を何らかの中央の場所に保管する必要があります。
これは、ZSHを使用してLinuxマシンにDeploy-Helperを「インストール」した方法です。
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-helperを実行する:
deploy -c ~/my-deploy-config.json
指定された宛先を備えたDeploy-Helperを実行してください:
deploy -d service1,service4,service5
前提条件:
ステップ:
git clone https://github.com/cerus/deploy-helper.gitをクローンしますcd deploy-helperに移動しますmvn clean packageを実行します貢献ガイドラインに従ってください