Skip to content

Console Output

+ set -e
+ mkdir -p /zoumh/java/zmh/backend/packages /zoumh/java/zmh/backend/logs /zoumh/java/zmh/backend/bin /zoumh/java/zmh/backend/docs /zoumh/java/zmh/backend/nginx
+ cp -f ruoyi-gateway/target/ruoyi-gateway.jar /zoumh/java/zmh/backend/packages/
+ cp -f ruoyi-auth/target/ruoyi-auth.jar /zoumh/java/zmh/backend/packages/
+ cp -f ruoyi-modules/ruoyi-system/target/ruoyi-modules-system.jar /zoumh/java/zmh/backend/packages/
+ cp -f ruoyi-modules/ruoyi-file/target/ruoyi-modules-file.jar /zoumh/java/zmh/backend/packages/
+ printf %s IyEvdXNyL2Jpbi9lbnYgYmFzaApzZXQgLWV1byBwaXBlZmFpbAoKUEFDS0FHRV9ESVI9IiR7UEFDS0FHRV9ESVI6LS96b3VtaC9qYXZhL3ptaC9iYWNrZW5kL3BhY2thZ2VzfSIKTE9HX0RJUj0iJHtMT0dfRElSOi0vem91bWgvamF2YS96bWgvYmFja2VuZC9sb2dzfSIKSkFWQV9JTUFHRT0iJHtKQVZBX0lNQUdFOi1lY2xpcHNlLXRlbXVyaW46MjEtanJlfSIKTkFDT1NfQUREUj0iJHtOQUNPU19BRERSOi0xNTYuMjI1LjI4LjExMDo4ODQ4fSIKTkFDT1NfVVNFUk5BTUU9IiR7TkFDT1NfVVNFUk5BTUU6LW5hY29zfSIKTkFDT1NfUEFTU1dPUkQ9IiR7TkFDT1NfUEFTU1dPUkQ6LXpvdW1ofSIKUkVESVNfSE9TVD0iJHtSRURJU19IT1NUOi0xNzIuMjEuMC4xfSIKUkVESVNfUE9SVD0iJHtSRURJU19QT1JUOi02Mzc5fSIKUkVESVNfUEFTU1dPUkQ9IiR7UkVESVNfUEFTU1dPUkQ6LXpvdW1ofSIKUkVESVNfREFUQUJBU0U9IiR7UkVESVNfREFUQUJBU0U6LTB9IgpUWl9OQU1FPSIke1RaX05BTUU6LUFzaWEvU2hhbmdoYWl9IgpKQVZBX1RNUERJUj0iJHtKQVZBX1RNUERJUjotL3RtcC96b3VtaC1qYXZhfSIKREVGQVVMVF9KQVZBX09QVFM9IiR7REVGQVVMVF9KQVZBX09QVFM6LS1EZmlsZS5lbmNvZGluZz1VVEYtOCAtRGphdmEuc2VjdXJpdHkuZWdkPWZpbGU6L2Rldi8uL3VyYW5kb20gLURqYXZhLmlvLnRtcGRpcj0vdG1wL3pvdW1oLWphdmEgLVhYOitVc2VHMUdDIC1YWDorVXNlU3RyaW5nRGVkdXBsaWNhdGlvbiAtWFg6K0V4aXRPbk91dE9mTWVtb3J5RXJyb3IgLVhYOk1heE1ldGFzcGFjZVNpemU9MTI4bSAtWFg6UmVzZXJ2ZWRDb2RlQ2FjaGVTaXplPTY0bSAtWFg6TWF4RGlyZWN0TWVtb3J5U2l6ZT04MG19IgpKQVZBX09QVFNfQVVUSD0iJHtKQVZBX09QVFNfQVVUSDotLVhtczEyOG0gLVhteDMyMG19IgpKQVZBX09QVFNfU1lTVEVNPSIke0pBVkFfT1BUU19TWVNURU06LS1YbXM5Nm0gLVhteDMyMG19IgpKQVZBX09QVFNfRklMRT0iJHtKQVZBX09QVFNfRklMRTotLVhtczY0bSAtWG14MTYwbX0iCkpBVkFfT1BUU19HQVRFV0FZPSIke0pBVkFfT1BUU19HQVRFV0FZOi0tWG1zOTZtIC1YbXgzMjBtIC1YWDpNYXhEaXJlY3RNZW1vcnlTaXplPTEyOG19IgpET0NLRVJfTUVNT1JZX0FVVEg9IiR7RE9DS0VSX01FTU9SWV9BVVRIOi01MTJtfSIKRE9DS0VSX01FTU9SWV9TWVNURU09IiR7RE9DS0VSX01FTU9SWV9TWVNURU06LTUxMm19IgpET0NLRVJfTUVNT1JZX0ZJTEU9IiR7RE9DS0VSX01FTU9SWV9GSUxFOi0yODhtfSIKRE9DS0VSX01FTU9SWV9HQVRFV0FZPSIke0RPQ0tFUl9NRU1PUllfR0FURVdBWTotNTEybX0iCkRPQ0tFUl9NRU1PUllfUkVTRVJWQVRJT05fQVVUSD0iJHtET0NLRVJfTUVNT1JZX1JFU0VSVkFUSU9OX0FVVEg6LTI1Nm19IgpET0NLRVJfTUVNT1JZX1JFU0VSVkFUSU9OX1NZU1RFTT0iJHtET0NLRVJfTUVNT1JZX1JFU0VSVkFUSU9OX1NZU1RFTTotMjI0bX0iCkRPQ0tFUl9NRU1PUllfUkVTRVJWQVRJT05fRklMRT0iJHtET0NLRVJfTUVNT1JZX1JFU0VSVkFUSU9OX0ZJTEU6LTEyOG19IgpET0NLRVJfTUVNT1JZX1JFU0VSVkFUSU9OX0dBVEVXQVk9IiR7RE9DS0VSX01FTU9SWV9SRVNFUlZBVElPTl9HQVRFV0FZOi0yMjRtfSIKRE9DS0VSX1BJRFNfTElNSVQ9IiR7RE9DS0VSX1BJRFNfTElNSVQ6LTI1Nn0iCk1JTklPX0lNQUdFPSIke01JTklPX0lNQUdFOi1taW5pby9taW5pbzpsYXRlc3R9IgpNSU5JT19DT05UQUlORVJfTkFNRT0iJHtNSU5JT19DT05UQUlORVJfTkFNRTotbWluaW99IgpNSU5JT19ST09UX1VTRVI9IiR7TUlOSU9fUk9PVF9VU0VSOi1taW5pb30iCk1JTklPX1JPT1RfUEFTU1dPUkQ9IiR7TUlOSU9fUk9PVF9QQVNTV09SRDotem1oMDAxMjA3ODA3MH0iCk1JTklPX0RBVEFfRElSPSIke01JTklPX0RBVEFfRElSOi0vem91bWgvZGF0YS9taW5pb30iCk1JTklPX0NPTlNPTEVfUE9SVD0iJHtNSU5JT19DT05TT0xFX1BPUlQ6LTkwMDF9IgpNSU5JT19BUElfUE9SVD0iJHtNSU5JT19BUElfUE9SVDotOTAwMH0iCk1JTklPX05FVFdPUks9IiR7TUlOSU9fTkVUV09SSzotZG9ja2VyLWNvbXBvc2VfYmFja2VuZH0iClBVQkxJQ19OR0lOWF9DT05GX1NPVVJDRT0iJHtQVUJMSUNfTkdJTlhfQ09ORl9TT1VSQ0U6LS96b3VtaC9qYXZhL3ptaC9iYWNrZW5kL25naW54L25naW54LmNvbmZ9IgpQVUJMSUNfTkdJTlhfQ09ORl9UQVJHRVQ9IiR7UFVCTElDX05HSU5YX0NPTkZfVEFSR0VUOi0vem91bWgvZGF0YS9uZ2lueC9jb25mL25naW54LmNvbmZ9IgoKbWtkaXIgLXAgIiR7UEFDS0FHRV9ESVJ9IiAiJHtMT0dfRElSfSIKCmVuc3VyZV9kb2NrZXJfc2hlbGxfZW52KCkgewogIGxvY2FsIGRvY2tlcl9jbWQgZG9ja2VyX2JpbiBkb2NrZXJfZGlyIGVudl9maWxlIGhlbHBlcl9maWxlIGJhc2hyY19zbmlwcGV0CiAgZG9ja2VyX2NtZD0iJChjb21tYW5kIC12IGRvY2tlciB8fCB0cnVlKSIKICBpZiBbWyAteiAiJHtkb2NrZXJfY21kfSIgXV07IHRoZW4KICAgIGVjaG8gImRvY2tlciBjb21tYW5kIG5vdCBmb3VuZCBpbiBkZXBsb3kgZW52aXJvbm1lbnQiID4mMgogICAgZXhpdCAxCiAgZmkKCiAgZG9ja2VyX2Jpbj0iJChyZWFkbGluayAtZiAiJHtkb2NrZXJfY21kfSIgMj4vZGV2L251bGwgfHwgdHJ1ZSkiCiAgaWYgW1sgLXogIiR7ZG9ja2VyX2Jpbn0iIHx8ICEgLXggIiR7ZG9ja2VyX2Jpbn0iIF1dOyB0aGVuCiAgICBpZiBbWyAteCAvdXNyL2Jpbi9kb2NrZXIgXV07IHRoZW4KICAgICAgZG9ja2VyX2Jpbj0iL3Vzci9iaW4vZG9ja2VyIgogICAgZWxzZQogICAgICBkb2NrZXJfYmluPSIke2RvY2tlcl9jbWR9IgogICAgZmkKICBmaQoKICBkb2NrZXJfZGlyPSIkKGRpcm5hbWUgIiR7ZG9ja2VyX2Jpbn0iKSIKICBlbnZfZmlsZT0iL2V0Yy9wcm9maWxlLmQvem91bWgtZG9ja2VyLnNoIgogIGhlbHBlcl9maWxlPSIvem91bWgvc2gvZG9ja2VyLnNoIgogIGJhc2hyY19zbmlwcGV0PSIjID4+PiB6b3VtaCBkb2NrZXIgZW52ID4+PiIKCiAgbWtkaXIgLXAgL2V0Yy9wcm9maWxlLmQgL3pvdW1oL3NoCiAgaWYgW1sgLUwgL3Vzci9sb2NhbC9iaW4vZG9ja2VyICYmICEgLWUgL3Vzci9sb2NhbC9iaW4vZG9ja2VyIF1dOyB0aGVuCiAgICBybSAtZiAvdXNyL2xvY2FsL2Jpbi9kb2NrZXIKICBmaQogIGxuIC1zZiAiJHtkb2NrZXJfYmlufSIgL3Vzci9sb2NhbC9iaW4vZG9ja2VyIHx8IHRydWUKICBsbiAtc2YgIiR7ZG9ja2VyX2Jpbn0iIC91c3IvYmluL2RvY2tlciB8fCB0cnVlCgogIGNsZWFuX3NoZWxsX2hvb2soKSB7CiAgICBsb2NhbCBzaGVsbF9maWxlPSIkMSIKICAgIGxvY2FsIHRlbXBfZmlsZQogICAgW1sgLWYgIiR7c2hlbGxfZmlsZX0iIF1dIHx8IHRvdWNoICIke3NoZWxsX2ZpbGV9IgogICAgdGVtcF9maWxlPSIkKG1rdGVtcCkiCiAgICBhd2sgJwogICAgICBCRUdJTiB7CiAgICAgICAgc2tpcF9ibG9jayA9IDAKICAgICAgICBza2lwX2xlZ2FjeV9maSA9IDAKICAgICAgfQogICAgICAvXiMgPj4+IHpvdW1oIGRvY2tlciBlbnYgPj4+JC8gewogICAgICAgIHNraXBfYmxvY2sgPSAxCiAgICAgICAgbmV4dAogICAgICB9CiAgICAgIC9eIyA8PDwgem91bWggZG9ja2VyIGVudiA8PDwvIHsKICAgICAgICBza2lwX2Jsb2NrID0gMAogICAgICAgIG5leHQKICAgICAgfQogICAgICBza2lwX2Jsb2NrIHsKICAgICAgICBuZXh0CiAgICAgIH0KICAgICAgc2tpcF9sZWdhY3lfZmkgJiYgL15maSQvIHsKICAgICAgICBza2lwX2xlZ2FjeV9maSA9IDAKICAgICAgICBuZXh0CiAgICAgIH0KICAgICAgL14jIHpvdW1oIGRvY2tlciBlbnYkLyB7CiAgICAgICAgc2tpcF9sZWdhY3lfZmkgPSAxCiAgICAgICAgbmV4dAogICAgICB9CiAgICAgIC9cL2V0Y1wvcHJvZmlsZVwuZFwvem91bWgtZG9ja2VyXC5zaC8gewogICAgICAgIG5leHQKICAgICAgfQogICAgICAvXC96b3VtaFwvc2hcL2RvY2tlclwuc2gvIHsKICAgICAgICBuZXh0CiAgICAgIH0KICAgICAgewogICAgICAgIHNraXBfbGVnYWN5X2ZpID0gMAogICAgICAgIHByaW50CiAgICAgIH0KICAgICcgIiR7c2hlbGxfZmlsZX0iID4gIiR7dGVtcF9maWxlfSIKICAgIGNhdCAiJHt0ZW1wX2ZpbGV9IiA+ICIke3NoZWxsX2ZpbGV9IgogICAgcm0gLWYgIiR7dGVtcF9maWxlfSIKICB9CgogIGNhdCA+ICIke2Vudl9maWxlfSIgPDxFT0YKZXhwb3J0IERPQ0tFUl9IT01FPScke2RvY2tlcl9kaXJ9JwpjYXNlICI6XCRQQVRIOiIgaW4KICAqOiIke2RvY2tlcl9kaXJ9IjoqKSA7OwogICopIGV4cG9ydCBQQVRIPSIke2RvY2tlcl9kaXJ9OlwkUEFUSCIgOzsKZXNhYwpFT0YKICBjaG1vZCA2NDQgIiR7ZW52X2ZpbGV9IgoKICBjbGVhbl9zaGVsbF9ob29rIC9ldGMvYmFzaHJjCiAgY2F0ID4+IC9ldGMvYmFzaHJjIDw8RU9GCgoke2Jhc2hyY19zbmlwcGV0fQppZiBbIC1mIC9ldGMvcHJvZmlsZS5kL3pvdW1oLWRvY2tlci5zaCBdOyB0aGVuCiAgLiAvZXRjL3Byb2ZpbGUuZC96b3VtaC1kb2NrZXIuc2gKZmkKIyA8PDwgem91bWggZG9ja2VyIGVudiA8PDwKRU9GCgogIG1rZGlyIC1wIC9yb290CiAgZm9yIHNoZWxsX2ZpbGUgaW4gL3Jvb3QvLmJhc2hyYyAvcm9vdC8uYmFzaF9wcm9maWxlOyBkbwogICAgY2xlYW5fc2hlbGxfaG9vayAiJHtzaGVsbF9maWxlfSIKICAgIGNhdCA+PiAiJHtzaGVsbF9maWxlfSIgPDxFT0YKCiR7YmFzaHJjX3NuaXBwZXR9CmlmIFsgLWYgL2V0Yy9wcm9maWxlLmQvem91bWgtZG9ja2VyLnNoIF07IHRoZW4KICAuIC9ldGMvcHJvZmlsZS5kL3pvdW1oLWRvY2tlci5zaApmaQojIDw8PCB6b3VtaCBkb2NrZXIgZW52IDw8PApFT0YKICBkb25lCgogIGNhdCA+ICIke2hlbHBlcl9maWxlfSIgPDxFT0YKIyEvdXNyL2Jpbi9lbnYgYmFzaApzZXQgLWUKZXhwb3J0IERPQ0tFUl9IT01FPScke2RvY2tlcl9kaXJ9JwpjYXNlICI6XCRQQVRIOiIgaW4KICAqOiIke2RvY2tlcl9kaXJ9IjoqKSA7OwogICopIGV4cG9ydCBQQVRIPSIke2RvY2tlcl9kaXJ9OlwkUEFUSCIgOzsKZXNhYwoKaWYgW1sgXCQjIC1lcSAwIF1dOyB0aGVuCiAgZXhlYyAiJHtkb2NrZXJfYmlufSIgLS12ZXJzaW9uCmZpCgpleGVjICIke2RvY2tlcl9iaW59IiAiXCRAIgpFT0YKICBjaG1vZCAreCAiJHtoZWxwZXJfZmlsZX0iCn0KCmVuc3VyZV9kb2NrZXJfc2hlbGxfZW52CgpjbGVhbnVwX3JlbW92ZWRfbW9kdWxlX21lbnVfZGF0YSgpIHsKICBsb2NhbCBzcWwKICBzcWw9IiQoY2F0IDw8J0VPRicKREVMRVRFIHJtCkZST00gc3lzX3JvbGVfbWVudSBybQpJTk5FUiBKT0lOIHN5c19tZW51IG0gT04gbS5tZW51X2lkID0gcm0ubWVudV9pZApXSEVSRSBtLnBlcm1zIExJS0UgJ2hvdGVsOm1vbml0b3I6JScKICAgT1IgbS5wYXRoID0gJ2hvdGVsJwogICBPUiBtLnBhdGggPSAnbW9uaXRvcicKICAgT1IgbS5jb21wb25lbnQgPSAnaG90ZWwvbW9uaXRvci9pbmRleCcKICAgT1IgbS5yb3V0ZV9uYW1lIElOICgnSG90ZWwnLCAnSG90ZWxNb25pdG9yJyk7CgpERUxFVEUgRlJPTSBzeXNfbWVudQpXSEVSRSBwZXJtcyBMSUtFICdob3RlbDptb25pdG9yOiUnCiAgIE9SIHBhdGggPSAnaG90ZWwnCiAgIE9SIHBhdGggPSAnbW9uaXRvcicKICAgT1IgY29tcG9uZW50ID0gJ2hvdGVsL21vbml0b3IvaW5kZXgnCiAgIE9SIHJvdXRlX25hbWUgSU4gKCdIb3RlbCcsICdIb3RlbE1vbml0b3InKTsKRU9GCikiCgogIGlmIGRvY2tlciBwcyAtLWZvcm1hdCAne3suTmFtZXN9fScgfCBncmVwIC1xeCAnbXlzcWw4JzsgdGhlbgogICAgZG9ja2VyIGV4ZWMgLWkgbXlzcWw4IG15c3FsIC11cm9vdCAtcHpvdW1oIHpvdW1oIC1lICIke3NxbH0iID4vZGV2L251bGwKICAgIGVjaG8gInJlbW92ZWQgc3RhbGUgem91bWgtaG90ZWwtbW9uaXRvciBtZW51IGRhdGEiCiAgZWxzZQogICAgZWNobyAic2tpcCBtZW51IGNsZWFudXA6IG15c3FsOCBjb250YWluZXIgbm90IHJ1bm5pbmciCiAgZmkKfQoKZW5zdXJlX21pbmlvKCkgewogIG1rZGlyIC1wICIke01JTklPX0RBVEFfRElSfSIKICBkb2NrZXIgcm0gLWYgIiR7TUlOSU9fQ09OVEFJTkVSX05BTUV9IiA+L2Rldi9udWxsIDI+JjEgfHwgdHJ1ZQogIGRvY2tlciBydW4gLWQgXAogICAgLS1uYW1lICIke01JTklPX0NPTlRBSU5FUl9OQU1FfSIgXAogICAgLS1yZXN0YXJ0IHVubGVzcy1zdG9wcGVkIFwKICAgIC0tbmV0d29yayAiJHtNSU5JT19ORVRXT1JLfSIgXAogICAgLXAgIiR7TUlOSU9fQVBJX1BPUlR9OjkwMDAiIFwKICAgIC1wICIke01JTklPX0NPTlNPTEVfUE9SVH06OTAwMSIgXAogICAgLS1tZW1vcnk9IjM4NG0iIFwKICAgIC0tbWVtb3J5LXJlc2VydmF0aW9uPSIxMjhtIiBcCiAgICAtLXBpZHMtbGltaXQ9IjEyOCIgXAogICAgLS1sb2ctb3B0IG1heC1zaXplPTIwbSBcCiAgICAtLWxvZy1vcHQgbWF4LWZpbGU9MyBcCiAgICAtZSBUWj0iJHtUWl9OQU1FfSIgXAogICAgLWUgTUlOSU9fUk9PVF9VU0VSPSIke01JTklPX1JPT1RfVVNFUn0iIFwKICAgIC1lIE1JTklPX1JPT1RfUEFTU1dPUkQ9IiR7TUlOSU9fUk9PVF9QQVNTV09SRH0iIFwKICAgIC12ICIke01JTklPX0RBVEFfRElSfTovZGF0YSIgXAogICAgIiR7TUlOSU9fSU1BR0V9IiBzZXJ2ZXIgL2RhdGEgLS1jb25zb2xlLWFkZHJlc3MgIjo5MDAxIgogIGVjaG8gInN0YXJ0ZWQgJHtNSU5JT19DT05UQUlORVJfTkFNRX0iCn0KCnN5bmNfcHVibGljX25naW54X2NvbmYoKSB7CiAgaWYgW1sgISAtZiAiJHtQVUJMSUNfTkdJTlhfQ09ORl9TT1VSQ0V9IiBdXTsgdGhlbgogICAgZWNobyAic2tpcCBwdWJsaWMgbmdpbnggc3luYzogc291cmNlIG5vdCBmb3VuZCAke1BVQkxJQ19OR0lOWF9DT05GX1NPVVJDRX0iCiAgICByZXR1cm4gMAogIGZpCgogIGlmIFtbIC16ICIke1BVQkxJQ19OR0lOWF9DT05GX1RBUkdFVH0iIF1dOyB0aGVuCiAgICBlY2hvICJza2lwIHB1YmxpYyBuZ2lueCBzeW5jOiB0YXJnZXQgaXMgZW1wdHkiCiAgICByZXR1cm4gMAogIGZpCgogIG1rZGlyIC1wICIkKGRpcm5hbWUgIiR7UFVCTElDX05HSU5YX0NPTkZfVEFSR0VUfSIpIgoKICBsb2NhbCBiYWNrdXBfZmlsZQogIGJhY2t1cF9maWxlPSIke1BVQkxJQ19OR0lOWF9DT05GX1RBUkdFVH0uYmFrLiQoZGF0ZSArJVklbSVkJUglTSVTKSIKICBpZiBbWyAtZiAiJHtQVUJMSUNfTkdJTlhfQ09ORl9UQVJHRVR9IiBdXTsgdGhlbgogICAgY3AgLWYgIiR7UFVCTElDX05HSU5YX0NPTkZfVEFSR0VUfSIgIiR7YmFja3VwX2ZpbGV9IgogIGZpCgogIGNwIC1mICIke1BVQkxJQ19OR0lOWF9DT05GX1NPVVJDRX0iICIke1BVQkxJQ19OR0lOWF9DT05GX1RBUkdFVH0iCgogIGlmIGRvY2tlciBwcyAtLWZvcm1hdCAne3suTmFtZXN9fScgfCBncmVwIC1xeCAnbmdpbngnOyB0aGVuCiAgICBpZiBkb2NrZXIgZXhlYyBuZ2lueCBuZ2lueCAtdCA+L2Rldi9udWxsIDI+JjE7IHRoZW4KICAgICAgZG9ja2VyIGV4ZWMgbmdpbnggbmdpbnggLXMgcmVsb2FkID4vZGV2L251bGwgMj4mMSB8fCBkb2NrZXIgcmVzdGFydCBuZ2lueCA+L2Rldi9udWxsCiAgICAgIGVjaG8gInB1YmxpYyBuZ2lueCBjb25maWcgc3luY2VkIGFuZCByZWxvYWRlZCIKICAgIGVsc2UKICAgICAgZWNobyAicHVibGljIG5naW54IGNvbmZpZyB0ZXN0IGZhaWxlZCwgcm9sbGluZyBiYWNrIiA+JjIKICAgICAgaWYgW1sgLWYgIiR7YmFja3VwX2ZpbGV9IiBdXTsgdGhlbgogICAgICAgIGNwIC1mICIke2JhY2t1cF9maWxlfSIgIiR7UFVCTElDX05HSU5YX0NPTkZfVEFSR0VUfSIKICAgICAgICBkb2NrZXIgZXhlYyBuZ2lueCBuZ2lueCAtdCA+L2Rldi9udWxsIDI+JjEgJiYgZG9ja2VyIGV4ZWMgbmdpbnggbmdpbnggLXMgcmVsb2FkID4vZGV2L251bGwgMj4mMSB8fCBkb2NrZXIgcmVzdGFydCBuZ2lueCA+L2Rldi9udWxsIDI+JjEgfHwgdHJ1ZQogICAgICBmaQogICAgICByZXR1cm4gMQogICAgZmkKICBlbHNlCiAgICBlY2hvICJwdWJsaWMgbmdpbnggY29uZmlnIHN5bmNlZDsgbmdpbnggY29udGFpbmVyIG5vdCBydW5uaW5nLCBza2lwIHJlbG9hZCIKICBmaQp9Cgpkb2NrZXIgcm0gLWYgInJ1b3lpLW1vbml0b3IiID4vZGV2L251bGwgMj4mMSB8fCB0cnVlCmRvY2tlciBybSAtZiAicnVveWktam9iIiA+L2Rldi9udWxsIDI+JjEgfHwgdHJ1ZQpkb2NrZXIgcm0gLWYgInJ1b3lpLWdlbiIgPi9kZXYvbnVsbCAyPiYxIHx8IHRydWUKZG9ja2VyIHJtIC1mICJ6b3VtaC10b29scyIgPi9kZXYvbnVsbCAyPiYxIHx8IHRydWUKZG9ja2VyIHJtIC1mICJ6b3VtaC1ob3RlbC1tb25pdG9yIiA+L2Rldi9udWxsIDI+JjEgfHwgdHJ1ZQpjbGVhbnVwX3JlbW92ZWRfbW9kdWxlX21lbnVfZGF0YQpzeW5jX3B1YmxpY19uZ2lueF9jb25mCgpydW5famF2YV9zZXJ2aWNlKCkgewogIGxvY2FsIG5hbWU9IiQxIgogIGxvY2FsIGphcl9uYW1lPSIkMiIKICBsb2NhbCBqYXZhX29wdHM9IiQzIgogIGxvY2FsIGRvY2tlcl9tZW1vcnk9IiQ0IgogIGxvY2FsIGRvY2tlcl9tZW1vcnlfcmVzZXJ2YXRpb249IiQ1IgogIHNoaWZ0IDUKCiAgaWYgW1sgISAtZiAiJHtQQUNLQUdFX0RJUn0vJHtqYXJfbmFtZX0iIF1dOyB0aGVuCiAgICBlY2hvICJza2lwICR7bmFtZX06ICR7amFyX25hbWV9IG5vdCBmb3VuZCIKICAgIHJldHVybiAwCiAgZmkKCiAgZG9ja2VyIHJtIC1mICIke25hbWV9IiA+L2Rldi9udWxsIDI+JjEgfHwgdHJ1ZQoKICBkb2NrZXIgcnVuIC1kIFwKICAgIC0tbmFtZSAiJHtuYW1lfSIgXAogICAgLS1yZXN0YXJ0IHVubGVzcy1zdG9wcGVkIFwKICAgIC0tbmV0d29yayBob3N0IFwKICAgIC0tbWVtb3J5PSIke2RvY2tlcl9tZW1vcnl9IiBcCiAgICAtLW1lbW9yeS1yZXNlcnZhdGlvbj0iJHtkb2NrZXJfbWVtb3J5X3Jlc2VydmF0aW9ufSIgXAogICAgLS1waWRzLWxpbWl0PSIke0RPQ0tFUl9QSURTX0xJTUlUfSIgXAogICAgLS1sb2ctb3B0IG1heC1zaXplPTIwbSBcCiAgICAtLWxvZy1vcHQgbWF4LWZpbGU9MyBcCiAgICAtZSBUWj0iJHtUWl9OQU1FfSIgXAogICAgLWUgIkpBVkFfT1BUUz0ke0RFRkFVTFRfSkFWQV9PUFRTfSAke2phdmFfb3B0c30iIFwKICAgICIkQCIgXAogICAgLXYgIiR7UEFDS0FHRV9ESVJ9Oi9hcHAiIFwKICAgIC12ICIke0xPR19ESVJ9Oi9sb2dzIiBcCiAgICAtdiAiJHtKQVZBX1RNUERJUn06JHtKQVZBX1RNUERJUn0iIFwKICAgICIke0pBVkFfSU1BR0V9IiBcCiAgICBzaCAtbGMgIm1rZGlyIC1wICcke0pBVkFfVE1QRElSfScgJiYgZXhlYyBqYXZhIFwkSkFWQV9PUFRTIC1qYXIgL2FwcC8ke2phcl9uYW1lfSA+IC9sb2dzLyR7bmFtZX0ubG9nIDI+JjEiCgogIGVjaG8gInN0YXJ0ZWQgJHtuYW1lfSIKfQoKcnVuX2phdmFfc2VydmljZSBcCiAgInJ1b3lpLWF1dGgiIFwKICAicnVveWktYXV0aC5qYXIiIFwKICAiJHtKQVZBX09QVFNfQVVUSH0iIFwKICAiJHtET0NLRVJfTUVNT1JZX0FVVEh9IiBcCiAgIiR7RE9DS0VSX01FTU9SWV9SRVNFUlZBVElPTl9BVVRIfSIgXAogIC1lICJTUFJJTkdfQ0xPVURfTkFDT1NfU0VSVkVSX0FERFI9JHtOQUNPU19BRERSfSIgXAogIC1lICJTUFJJTkdfQ0xPVURfTkFDT1NfVVNFUk5BTUU9JHtOQUNPU19VU0VSTkFNRX0iIFwKICAtZSAiU1BSSU5HX0NMT1VEX05BQ09TX1BBU1NXT1JEPSR7TkFDT1NfUEFTU1dPUkR9IgoKcnVuX2phdmFfc2VydmljZSBcCiAgInJ1b3lpLXN5c3RlbSIgXAogICJydW95aS1tb2R1bGVzLXN5c3RlbS5qYXIiIFwKICAiJHtKQVZBX09QVFNfU1lTVEVNfSIgXAogICIke0RPQ0tFUl9NRU1PUllfU1lTVEVNfSIgXAogICIke0RPQ0tFUl9NRU1PUllfUkVTRVJWQVRJT05fU1lTVEVNfSIgXAogIC1lICJTUFJJTkdfQ0xPVURfTkFDT1NfU0VSVkVSX0FERFI9JHtOQUNPU19BRERSfSIgXAogIC1lICJTUFJJTkdfQ0xPVURfTkFDT1NfVVNFUk5BTUU9JHtOQUNPU19VU0VSTkFNRX0iIFwKICAtZSAiU1BSSU5HX0NMT1VEX05BQ09TX1BBU1NXT1JEPSR7TkFDT1NfUEFTU1dPUkR9IiBcCiAgLWUgIlNQUklOR19DTE9VRF9OQUNPU19ESVNDT1ZFUllfU0VSVklDRT1ydW95aS1zeXN0ZW0iCgpydW5famF2YV9zZXJ2aWNlIFwKICAicnVveWktZmlsZSIgXAogICJydW95aS1tb2R1bGVzLWZpbGUuamFyIiBcCiAgIiR7SkFWQV9PUFRTX0ZJTEV9IiBcCiAgIiR7RE9DS0VSX01FTU9SWV9GSUxFfSIgXAogICIke0RPQ0tFUl9NRU1PUllfUkVTRVJWQVRJT05fRklMRX0iIFwKICAtZSAiU1BSSU5HX0NMT1VEX05BQ09TX1NFUlZFUl9BRERSPSR7TkFDT1NfQUREUn0iIFwKICAtZSAiU1BSSU5HX0NMT1VEX05BQ09TX1VTRVJOQU1FPSR7TkFDT1NfVVNFUk5BTUV9IiBcCiAgLWUgIlNQUklOR19DTE9VRF9OQUNPU19QQVNTV09SRD0ke05BQ09TX1BBU1NXT1JEfSIKCnJ1bl9qYXZhX3NlcnZpY2UgXAogICJydW95aS1nYXRld2F5IiBcCiAgInJ1b3lpLWdhdGV3YXkuamFyIiBcCiAgIiR7SkFWQV9PUFRTX0dBVEVXQVl9IiBcCiAgIiR7RE9DS0VSX01FTU9SWV9HQVRFV0FZfSIgXAogICIke0RPQ0tFUl9NRU1PUllfUkVTRVJWQVRJT05fR0FURVdBWX0iIFwKICAtZSAiU1BSSU5HX0NMT1VEX05BQ09TX1NFUlZFUl9BRERSPSR7TkFDT1NfQUREUn0iIFwKICAtZSAiU1BSSU5HX0NMT1VEX05BQ09TX1VTRVJOQU1FPSR7TkFDT1NfVVNFUk5BTUV9IiBcCiAgLWUgIlNQUklOR19DTE9VRF9OQUNPU19QQVNTV09SRD0ke05BQ09TX1BBU1NXT1JEfSIgXAogIC1lICJTRUNVUklUWV9DQVBUQ0hBX0VOQUJMRUQ9ZmFsc2UiIFwKICAtZSAiU1BSSU5HX0RBVEFfUkVESVNfSE9TVD0ke1JFRElTX0hPU1R9IiBcCiAgLWUgIlNQUklOR19EQVRBX1JFRElTX1BPUlQ9JHtSRURJU19QT1JUfSIgXAogIC1lICJTUFJJTkdfREFUQV9SRURJU19QQVNTV09SRD0ke1JFRElTX1BBU1NXT1JEfSIgXAogIC1lICJTUFJJTkdfREFUQV9SRURJU19EQVRBQkFTRT0ke1JFRElTX0RBVEFCQVNFfSIKCmlmIFtbIC1uICIke1BPU1RfREVQTE9ZX0NNRDotfSIgXV07IHRoZW4KICBzaCAtbGMgIiR7UE9TVF9ERVBMT1lfQ01EfSIKZmkKCmRvY2tlciBydW4gLS1ybSAiJHtKQVZBX0lNQUdFfSIgamF2YSAtdmVyc2lvbiAyPiYxIHwgaGVhZCAtbiAxIHx8IHRydWUKCmxvZ2luX3Byb2JlPSd7InVzZXJuYW1lIjoiYWRtaW4iLCJwYXNzd29yZCI6ImFkbWluMTIzIn0nCnNsZWVwIDIwCnByb2JlX3Jlc3BvbnNlPSIkKGN1cmwgLWtzUyAtSCAnQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uJyAtZCAiJHtsb2dpbl9wcm9iZX0iIGh0dHBzOi8vem91bWguY29tL3Byb2QtYXBpL2F1dGgvbG9naW4gfHwgdHJ1ZSkiCmdhdGV3YXlfcHJvYmU9IiQoY3VybCAtc1MgLUggJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbicgLWQgIiR7bG9naW5fcHJvYmV9IiBodHRwOi8vMTI3LjAuMC4xOjgwODAvYXV0aC9sb2dpbiB8fCB0cnVlKSIKZWNobyAibG9naW5fcHJvYmVfcmVzcG9uc2U9JHtwcm9iZV9yZXNwb25zZX0iCmVjaG8gImdhdGV3YXlfcHJvYmVfcmVzcG9uc2U9JHtnYXRld2F5X3Byb2JlfSIKaWYgcHJpbnRmICclc1xuJXMnICIke3Byb2JlX3Jlc3BvbnNlfSIgIiR7Z2F0ZXdheV9wcm9iZX0iIHwgZ3JlcCAtRXEgJyJjb2RlIjo1MDB8NTAyIEJhZCBHYXRld2F5JzsgdGhlbgogIGVjaG8gIi0tLSBnYXRld2F5LmxvZyB0YWlsIC0tLSIKICB0YWlsIC1uIDgwICIke0xPR19ESVJ9L3J1b3lpLWdhdGV3YXkubG9nIiAyPi9kZXYvbnVsbCB8fCB0cnVlCiAgZWNobyAiLS0tIGF1dGgubG9nIHRhaWwgLS0tIgogIHRhaWwgLW4gODAgIiR7TE9HX0RJUn0vcnVveWktYXV0aC5sb2ciIDI+L2Rldi9udWxsIHx8IHRydWUKICBlY2hvICItLS0gc3lzdGVtLmxvZyB0YWlsIC0tLSIKICB0YWlsIC1uIDgwICIke0xPR19ESVJ9L3J1b3lpLXN5c3RlbS5sb2ciIDI+L2Rldi9udWxsIHx8IHRydWUKZmkKCmRvY2tlciBzdGF0cyAtLW5vLXN0cmVhbSAtLWZvcm1hdCAne3suTmFtZX19XHR7ey5NZW1Vc2FnZX19JyB8IGdyZXAgLUUgJ3J1b3lpLShhdXRofHN5c3RlbXxmaWxlfGdhdGV3YXkpJyB8fCB0cnVlCmRvY2tlciBwcyAtLWZvcm1hdCAndGFibGUge3suTmFtZXN9fVx0e3suU3RhdHVzfX0nIHwgZ3JlcCAtRSAncnVveWktKGF1dGh8c3lzdGVtfGZpbGV8Z2F0ZXdheSknIHx8IHRydWUKZWNobyAiLS0tIHJ1b3lpLWZpbGUubG9nIHRhaWwgLS0tIgp0YWlsIC1uIDEyMCAiJHtMT0dfRElSfS9ydW95aS1maWxlLmxvZyIgMj4vZGV2L251bGwgfHwgdHJ1ZQplY2hvICItLS0gcmVzdGFydGluZyBjb250YWluZXJzIC0tLSIKZG9ja2VyIHBzIC1hIC0tZmlsdGVyIHN0YXR1cz1yZXN0YXJ0aW5nIC0tZm9ybWF0ICd0YWJsZSB7ey5OYW1lc319XHR7ey5TdGF0dXN9fScgfHwgdHJ1ZQo=
+ base64 -d
+ cp -f docs/server-ops-guide.md /zoumh/java/zmh/backend/docs/server-ops-guide.md
+ cp -f docs/server-ops-guide.md /zoumh/java/zmh/README-ops.md
+ cp -f docker/nginx/conf/nginx.conf /zoumh/java/zmh/backend/nginx/nginx.conf
+ chmod +x /zoumh/java/zmh/backend/bin/deploy-backend-host.sh
+ PACKAGE_DIR=/zoumh/java/zmh/backend/packages LOG_DIR=/zoumh/java/zmh/backend/logs PUBLIC_NGINX_CONF_SOURCE=/zoumh/java/zmh/backend/nginx/nginx.conf PUBLIC_NGINX_CONF_TARGET= POST_DEPLOY_CMD= /zoumh/java/zmh/backend/bin/deploy-backend-host.sh
ln: '/usr/bin/docker' and '/usr/bin/docker' are the same file
mysql: [Warning] Using a password on the command line interface can be insecure.
removed stale zoumh-hotel-monitor menu data
public nginx config test failed, rolling back