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 IyEvdXNyL2Jpbi9lbnYgYmFzaApzZXQgLWV1byBwaXBlZmFpbAoKUEFDS0FHRV9ESVI9IiR7UEFDS0FHRV9ESVI6LS96b3VtaC9qYXZhL3ptaC9iYWNrZW5kL3BhY2thZ2VzfSIKTE9HX0RJUj0iJHtMT0dfRElSOi0vem91bWgvamF2YS96bWgvYmFja2VuZC9sb2dzfSIKSkFWQV9JTUFHRT0iJHtKQVZBX0lNQUdFOi1lY2xpcHNlLXRlbXVyaW46MjEtanJlfSIKTkFDT1NfQUREUj0iJHtOQUNPU19BRERSOi0xNTYuMjI1LjI4LjExMDo4ODQ4fSIKTkFDT1NfVVNFUk5BTUU9IiR7TkFDT1NfVVNFUk5BTUU6LW5hY29zfSIKTkFDT1NfUEFTU1dPUkQ9IiR7TkFDT1NfUEFTU1dPUkQ6LXpvdW1ofSIKUkVESVNfSE9TVD0iJHtSRURJU19IT1NUOi0xNzIuMjEuMC4xfSIKUkVESVNfUE9SVD0iJHtSRURJU19QT1JUOi02Mzc5fSIKUkVESVNfUEFTU1dPUkQ9IiR7UkVESVNfUEFTU1dPUkQ6LXpvdW1ofSIKUkVESVNfREFUQUJBU0U9IiR7UkVESVNfREFUQUJBU0U6LTB9IgpUWl9OQU1FPSIke1RaX05BTUU6LUFzaWEvU2hhbmdoYWl9IgpKQVZBX1RNUERJUj0iJHtKQVZBX1RNUERJUjotL3RtcC96b3VtaC1qYXZhfSIKREVGQVVMVF9KQVZBX09QVFM9IiR7REVGQVVMVF9KQVZBX09QVFM6LS1EZmlsZS5lbmNvZGluZz1VVEYtOCAtRGphdmEuc2VjdXJpdHkuZWdkPWZpbGU6L2Rldi8uL3VyYW5kb20gLURqYXZhLmlvLnRtcGRpcj0vdG1wL3pvdW1oLWphdmEgLVhYOitVc2VHMUdDIC1YWDorVXNlU3RyaW5nRGVkdXBsaWNhdGlvbiAtWFg6K0V4aXRPbk91dE9mTWVtb3J5RXJyb3IgLVhYOk1heE1ldGFzcGFjZVNpemU9MTI4bSAtWFg6UmVzZXJ2ZWRDb2RlQ2FjaGVTaXplPTY0bSAtWFg6TWF4RGlyZWN0TWVtb3J5U2l6ZT04MG19IgpKQVZBX09QVFNfQVVUSD0iJHtKQVZBX09QVFNfQVVUSDotLVhtczEyOG0gLVhteDMyMG19IgpKQVZBX09QVFNfU1lTVEVNPSIke0pBVkFfT1BUU19TWVNURU06LS1YbXM5Nm0gLVhteDMyMG19IgpKQVZBX09QVFNfRklMRT0iJHtKQVZBX09QVFNfRklMRTotLVhtczY0bSAtWG14MTYwbX0iCkpBVkFfT1BUU19HQVRFV0FZPSIke0pBVkFfT1BUU19HQVRFV0FZOi0tWG1zOTZtIC1YbXgzMjBtIC1YWDpNYXhEaXJlY3RNZW1vcnlTaXplPTEyOG19IgpET0NLRVJfTUVNT1JZX0FVVEg9IiR7RE9DS0VSX01FTU9SWV9BVVRIOi01MTJtfSIKRE9DS0VSX01FTU9SWV9TWVNURU09IiR7RE9DS0VSX01FTU9SWV9TWVNURU06LTUxMm19IgpET0NLRVJfTUVNT1JZX0ZJTEU9IiR7RE9DS0VSX01FTU9SWV9GSUxFOi0yODhtfSIKRE9DS0VSX01FTU9SWV9HQVRFV0FZPSIke0RPQ0tFUl9NRU1PUllfR0FURVdBWTotNTEybX0iCkRPQ0tFUl9NRU1PUllfUkVTRVJWQVRJT05fQVVUSD0iJHtET0NLRVJfTUVNT1JZX1JFU0VSVkFUSU9OX0FVVEg6LTI1Nm19IgpET0NLRVJfTUVNT1JZX1JFU0VSVkFUSU9OX1NZU1RFTT0iJHtET0NLRVJfTUVNT1JZX1JFU0VSVkFUSU9OX1NZU1RFTTotMjI0bX0iCkRPQ0tFUl9NRU1PUllfUkVTRVJWQVRJT05fRklMRT0iJHtET0NLRVJfTUVNT1JZX1JFU0VSVkFUSU9OX0ZJTEU6LTEyOG19IgpET0NLRVJfTUVNT1JZX1JFU0VSVkFUSU9OX0dBVEVXQVk9IiR7RE9DS0VSX01FTU9SWV9SRVNFUlZBVElPTl9HQVRFV0FZOi0yMjRtfSIKRE9DS0VSX1BJRFNfTElNSVQ9IiR7RE9DS0VSX1BJRFNfTElNSVQ6LTI1Nn0iCk1JTklPX0lNQUdFPSIke01JTklPX0lNQUdFOi1taW5pby9taW5pbzpsYXRlc3R9IgpNSU5JT19DT05UQUlORVJfTkFNRT0iJHtNSU5JT19DT05UQUlORVJfTkFNRTotbWluaW99IgpNSU5JT19ST09UX1VTRVI9IiR7TUlOSU9fUk9PVF9VU0VSOi1taW5pb30iCk1JTklPX1JPT1RfUEFTU1dPUkQ9IiR7TUlOSU9fUk9PVF9QQVNTV09SRDotem1oMDAxMjA3ODA3MH0iCk1JTklPX0RBVEFfRElSPSIke01JTklPX0RBVEFfRElSOi0vem91bWgvZGF0YS9taW5pb30iCk1JTklPX0NPTlNPTEVfUE9SVD0iJHtNSU5JT19DT05TT0xFX1BPUlQ6LTkwMDF9IgpNSU5JT19BUElfUE9SVD0iJHtNSU5JT19BUElfUE9SVDotOTAwMH0iCk1JTklPX05FVFdPUks9IiR7TUlOSU9fTkVUV09SSzotZG9ja2VyLWNvbXBvc2VfYmFja2VuZH0iClBVQkxJQ19OR0lOWF9DT05GX1NPVVJDRT0iJHtQVUJMSUNfTkdJTlhfQ09ORl9TT1VSQ0U6LS96b3VtaC9qYXZhL3ptaC9iYWNrZW5kL25naW54L25naW54LmNvbmZ9IgpQVUJMSUNfTkdJTlhfQ09ORl9UQVJHRVQ9IiR7UFVCTElDX05HSU5YX0NPTkZfVEFSR0VULS96b3VtaC9kYXRhL25naW54L2NvbmYvbmdpbnguY29uZn0iCgpta2RpciAtcCAiJHtQQUNLQUdFX0RJUn0iICIke0xPR19ESVJ9IgoKZW5zdXJlX2RvY2tlcl9zaGVsbF9lbnYoKSB7CiAgbG9jYWwgZG9ja2VyX2NtZCBkb2NrZXJfYmluIGRvY2tlcl9kaXIgZW52X2ZpbGUgaGVscGVyX2ZpbGUgYmFzaHJjX3NuaXBwZXQKICBkb2NrZXJfY21kPSIkKGNvbW1hbmQgLXYgZG9ja2VyIHx8IHRydWUpIgogIGlmIFtbIC16ICIke2RvY2tlcl9jbWR9IiBdXTsgdGhlbgogICAgZWNobyAiZG9ja2VyIGNvbW1hbmQgbm90IGZvdW5kIGluIGRlcGxveSBlbnZpcm9ubWVudCIgPiYyCiAgICBleGl0IDEKICBmaQoKICBkb2NrZXJfYmluPSIkKHJlYWRsaW5rIC1mICIke2RvY2tlcl9jbWR9IiAyPi9kZXYvbnVsbCB8fCB0cnVlKSIKICBpZiBbWyAteiAiJHtkb2NrZXJfYmlufSIgfHwgISAteCAiJHtkb2NrZXJfYmlufSIgXV07IHRoZW4KICAgIGlmIFtbIC14IC91c3IvYmluL2RvY2tlciBdXTsgdGhlbgogICAgICBkb2NrZXJfYmluPSIvdXNyL2Jpbi9kb2NrZXIiCiAgICBlbHNlCiAgICAgIGRvY2tlcl9iaW49IiR7ZG9ja2VyX2NtZH0iCiAgICBmaQogIGZpCgogIGRvY2tlcl9kaXI9IiQoZGlybmFtZSAiJHtkb2NrZXJfYmlufSIpIgogIGVudl9maWxlPSIvZXRjL3Byb2ZpbGUuZC96b3VtaC1kb2NrZXIuc2giCiAgaGVscGVyX2ZpbGU9Ii96b3VtaC9zaC9kb2NrZXIuc2giCiAgYmFzaHJjX3NuaXBwZXQ9IiMgPj4+IHpvdW1oIGRvY2tlciBlbnYgPj4+IgoKICBta2RpciAtcCAvZXRjL3Byb2ZpbGUuZCAvem91bWgvc2gKICBpZiBbWyAtTCAvdXNyL2xvY2FsL2Jpbi9kb2NrZXIgJiYgISAtZSAvdXNyL2xvY2FsL2Jpbi9kb2NrZXIgXV07IHRoZW4KICAgIHJtIC1mIC91c3IvbG9jYWwvYmluL2RvY2tlcgogIGZpCiAgbG4gLXNmICIke2RvY2tlcl9iaW59IiAvdXNyL2xvY2FsL2Jpbi9kb2NrZXIgfHwgdHJ1ZQogIGxuIC1zZiAiJHtkb2NrZXJfYmlufSIgL3Vzci9iaW4vZG9ja2VyIHx8IHRydWUKCiAgY2xlYW5fc2hlbGxfaG9vaygpIHsKICAgIGxvY2FsIHNoZWxsX2ZpbGU9IiQxIgogICAgbG9jYWwgdGVtcF9maWxlCiAgICBbWyAtZiAiJHtzaGVsbF9maWxlfSIgXV0gfHwgdG91Y2ggIiR7c2hlbGxfZmlsZX0iCiAgICB0ZW1wX2ZpbGU9IiQobWt0ZW1wKSIKICAgIGF3ayAnCiAgICAgIEJFR0lOIHsKICAgICAgICBza2lwX2Jsb2NrID0gMAogICAgICAgIHNraXBfbGVnYWN5X2ZpID0gMAogICAgICB9CiAgICAgIC9eIyA+Pj4gem91bWggZG9ja2VyIGVudiA+Pj4kLyB7CiAgICAgICAgc2tpcF9ibG9jayA9IDEKICAgICAgICBuZXh0CiAgICAgIH0KICAgICAgL14jIDw8PCB6b3VtaCBkb2NrZXIgZW52IDw8PC8gewogICAgICAgIHNraXBfYmxvY2sgPSAwCiAgICAgICAgbmV4dAogICAgICB9CiAgICAgIHNraXBfYmxvY2sgewogICAgICAgIG5leHQKICAgICAgfQogICAgICBza2lwX2xlZ2FjeV9maSAmJiAvXmZpJC8gewogICAgICAgIHNraXBfbGVnYWN5X2ZpID0gMAogICAgICAgIG5leHQKICAgICAgfQogICAgICAvXiMgem91bWggZG9ja2VyIGVudiQvIHsKICAgICAgICBza2lwX2xlZ2FjeV9maSA9IDEKICAgICAgICBuZXh0CiAgICAgIH0KICAgICAgL1wvZXRjXC9wcm9maWxlXC5kXC96b3VtaC1kb2NrZXJcLnNoLyB7CiAgICAgICAgbmV4dAogICAgICB9CiAgICAgIC9cL3pvdW1oXC9zaFwvZG9ja2VyXC5zaC8gewogICAgICAgIG5leHQKICAgICAgfQogICAgICB7CiAgICAgICAgc2tpcF9sZWdhY3lfZmkgPSAwCiAgICAgICAgcHJpbnQKICAgICAgfQogICAgJyAiJHtzaGVsbF9maWxlfSIgPiAiJHt0ZW1wX2ZpbGV9IgogICAgY2F0ICIke3RlbXBfZmlsZX0iID4gIiR7c2hlbGxfZmlsZX0iCiAgICBybSAtZiAiJHt0ZW1wX2ZpbGV9IgogIH0KCiAgY2F0ID4gIiR7ZW52X2ZpbGV9IiA8PEVPRgpleHBvcnQgRE9DS0VSX0hPTUU9JyR7ZG9ja2VyX2Rpcn0nCmNhc2UgIjpcJFBBVEg6IiBpbgogICo6IiR7ZG9ja2VyX2Rpcn0iOiopIDs7CiAgKikgZXhwb3J0IFBBVEg9IiR7ZG9ja2VyX2Rpcn06XCRQQVRIIiA7Owplc2FjCkVPRgogIGNobW9kIDY0NCAiJHtlbnZfZmlsZX0iCgogIGNsZWFuX3NoZWxsX2hvb2sgL2V0Yy9iYXNocmMKICBjYXQgPj4gL2V0Yy9iYXNocmMgPDxFT0YKCiR7YmFzaHJjX3NuaXBwZXR9CmlmIFsgLWYgL2V0Yy9wcm9maWxlLmQvem91bWgtZG9ja2VyLnNoIF07IHRoZW4KICAuIC9ldGMvcHJvZmlsZS5kL3pvdW1oLWRvY2tlci5zaApmaQojIDw8PCB6b3VtaCBkb2NrZXIgZW52IDw8PApFT0YKCiAgbWtkaXIgLXAgL3Jvb3QKICBmb3Igc2hlbGxfZmlsZSBpbiAvcm9vdC8uYmFzaHJjIC9yb290Ly5iYXNoX3Byb2ZpbGU7IGRvCiAgICBjbGVhbl9zaGVsbF9ob29rICIke3NoZWxsX2ZpbGV9IgogICAgY2F0ID4+ICIke3NoZWxsX2ZpbGV9IiA8PEVPRgoKJHtiYXNocmNfc25pcHBldH0KaWYgWyAtZiAvZXRjL3Byb2ZpbGUuZC96b3VtaC1kb2NrZXIuc2ggXTsgdGhlbgogIC4gL2V0Yy9wcm9maWxlLmQvem91bWgtZG9ja2VyLnNoCmZpCiMgPDw8IHpvdW1oIGRvY2tlciBlbnYgPDw8CkVPRgogIGRvbmUKCiAgY2F0ID4gIiR7aGVscGVyX2ZpbGV9IiA8PEVPRgojIS91c3IvYmluL2VudiBiYXNoCnNldCAtZQpleHBvcnQgRE9DS0VSX0hPTUU9JyR7ZG9ja2VyX2Rpcn0nCmNhc2UgIjpcJFBBVEg6IiBpbgogICo6IiR7ZG9ja2VyX2Rpcn0iOiopIDs7CiAgKikgZXhwb3J0IFBBVEg9IiR7ZG9ja2VyX2Rpcn06XCRQQVRIIiA7Owplc2FjCgppZiBbWyBcJCMgLWVxIDAgXV07IHRoZW4KICBleGVjICIke2RvY2tlcl9iaW59IiAtLXZlcnNpb24KZmkKCmV4ZWMgIiR7ZG9ja2VyX2Jpbn0iICJcJEAiCkVPRgogIGNobW9kICt4ICIke2hlbHBlcl9maWxlfSIKfQoKZW5zdXJlX2RvY2tlcl9zaGVsbF9lbnYKCmNsZWFudXBfcmVtb3ZlZF9tb2R1bGVfbWVudV9kYXRhKCkgewogIGxvY2FsIHNxbAogIHNxbD0iJChjYXQgPDwnRU9GJwpERUxFVEUgcm0KRlJPTSBzeXNfcm9sZV9tZW51IHJtCklOTkVSIEpPSU4gc3lzX21lbnUgbSBPTiBtLm1lbnVfaWQgPSBybS5tZW51X2lkCldIRVJFIG0ucGVybXMgTElLRSAnaG90ZWw6bW9uaXRvcjolJwogICBPUiBtLnBhdGggPSAnaG90ZWwnCiAgIE9SIG0ucGF0aCA9ICdtb25pdG9yJwogICBPUiBtLmNvbXBvbmVudCA9ICdob3RlbC9tb25pdG9yL2luZGV4JwogICBPUiBtLnJvdXRlX25hbWUgSU4gKCdIb3RlbCcsICdIb3RlbE1vbml0b3InKTsKCkRFTEVURSBGUk9NIHN5c19tZW51CldIRVJFIHBlcm1zIExJS0UgJ2hvdGVsOm1vbml0b3I6JScKICAgT1IgcGF0aCA9ICdob3RlbCcKICAgT1IgcGF0aCA9ICdtb25pdG9yJwogICBPUiBjb21wb25lbnQgPSAnaG90ZWwvbW9uaXRvci9pbmRleCcKICAgT1Igcm91dGVfbmFtZSBJTiAoJ0hvdGVsJywgJ0hvdGVsTW9uaXRvcicpOwpFT0YKKSIKCiAgaWYgZG9ja2VyIHBzIC0tZm9ybWF0ICd7ey5OYW1lc319JyB8IGdyZXAgLXF4ICdteXNxbDgnOyB0aGVuCiAgICBkb2NrZXIgZXhlYyAtaSBteXNxbDggbXlzcWwgLXVyb290IC1wem91bWggem91bWggLWUgIiR7c3FsfSIgPi9kZXYvbnVsbAogICAgZWNobyAicmVtb3ZlZCBzdGFsZSB6b3VtaC1ob3RlbC1tb25pdG9yIG1lbnUgZGF0YSIKICBlbHNlCiAgICBlY2hvICJza2lwIG1lbnUgY2xlYW51cDogbXlzcWw4IGNvbnRhaW5lciBub3QgcnVubmluZyIKICBmaQp9CgplbnN1cmVfbWluaW8oKSB7CiAgbWtkaXIgLXAgIiR7TUlOSU9fREFUQV9ESVJ9IgogIGRvY2tlciBybSAtZiAiJHtNSU5JT19DT05UQUlORVJfTkFNRX0iID4vZGV2L251bGwgMj4mMSB8fCB0cnVlCiAgZG9ja2VyIHJ1biAtZCBcCiAgICAtLW5hbWUgIiR7TUlOSU9fQ09OVEFJTkVSX05BTUV9IiBcCiAgICAtLXJlc3RhcnQgdW5sZXNzLXN0b3BwZWQgXAogICAgLS1uZXR3b3JrICIke01JTklPX05FVFdPUkt9IiBcCiAgICAtcCAiJHtNSU5JT19BUElfUE9SVH06OTAwMCIgXAogICAgLXAgIiR7TUlOSU9fQ09OU09MRV9QT1JUfTo5MDAxIiBcCiAgICAtLW1lbW9yeT0iMzg0bSIgXAogICAgLS1tZW1vcnktcmVzZXJ2YXRpb249IjEyOG0iIFwKICAgIC0tcGlkcy1saW1pdD0iMTI4IiBcCiAgICAtLWxvZy1vcHQgbWF4LXNpemU9MjBtIFwKICAgIC0tbG9nLW9wdCBtYXgtZmlsZT0zIFwKICAgIC1lIFRaPSIke1RaX05BTUV9IiBcCiAgICAtZSBNSU5JT19ST09UX1VTRVI9IiR7TUlOSU9fUk9PVF9VU0VSfSIgXAogICAgLWUgTUlOSU9fUk9PVF9QQVNTV09SRD0iJHtNSU5JT19ST09UX1BBU1NXT1JEfSIgXAogICAgLXYgIiR7TUlOSU9fREFUQV9ESVJ9Oi9kYXRhIiBcCiAgICAiJHtNSU5JT19JTUFHRX0iIHNlcnZlciAvZGF0YSAtLWNvbnNvbGUtYWRkcmVzcyAiOjkwMDEiCiAgZWNobyAic3RhcnRlZCAke01JTklPX0NPTlRBSU5FUl9OQU1FfSIKfQoKc3luY19wdWJsaWNfbmdpbnhfY29uZigpIHsKICBpZiBbWyAhIC1mICIke1BVQkxJQ19OR0lOWF9DT05GX1NPVVJDRX0iIF1dOyB0aGVuCiAgICBlY2hvICJza2lwIHB1YmxpYyBuZ2lueCBzeW5jOiBzb3VyY2Ugbm90IGZvdW5kICR7UFVCTElDX05HSU5YX0NPTkZfU09VUkNFfSIKICAgIHJldHVybiAwCiAgZmkKCiAgaWYgW1sgLXogIiR7UFVCTElDX05HSU5YX0NPTkZfVEFSR0VUfSIgXV07IHRoZW4KICAgIGVjaG8gInNraXAgcHVibGljIG5naW54IHN5bmM6IHRhcmdldCBpcyBlbXB0eSIKICAgIHJldHVybiAwCiAgZmkKCiAgbWtkaXIgLXAgIiQoZGlybmFtZSAiJHtQVUJMSUNfTkdJTlhfQ09ORl9UQVJHRVR9IikiCgogIGxvY2FsIGJhY2t1cF9maWxlCiAgYmFja3VwX2ZpbGU9IiR7UFVCTElDX05HSU5YX0NPTkZfVEFSR0VUfS5iYWsuJChkYXRlICslWSVtJWQlSCVNJVMpIgogIGlmIFtbIC1mICIke1BVQkxJQ19OR0lOWF9DT05GX1RBUkdFVH0iIF1dOyB0aGVuCiAgICBjcCAtZiAiJHtQVUJMSUNfTkdJTlhfQ09ORl9UQVJHRVR9IiAiJHtiYWNrdXBfZmlsZX0iCiAgZmkKCiAgY3AgLWYgIiR7UFVCTElDX05HSU5YX0NPTkZfU09VUkNFfSIgIiR7UFVCTElDX05HSU5YX0NPTkZfVEFSR0VUfSIKCiAgaWYgZG9ja2VyIHBzIC0tZm9ybWF0ICd7ey5OYW1lc319JyB8IGdyZXAgLXF4ICduZ2lueCc7IHRoZW4KICAgIGlmIGRvY2tlciBleGVjIG5naW54IG5naW54IC10ID4vZGV2L251bGwgMj4mMTsgdGhlbgogICAgICBkb2NrZXIgZXhlYyBuZ2lueCBuZ2lueCAtcyByZWxvYWQgPi9kZXYvbnVsbCAyPiYxIHx8IGRvY2tlciByZXN0YXJ0IG5naW54ID4vZGV2L251bGwKICAgICAgZWNobyAicHVibGljIG5naW54IGNvbmZpZyBzeW5jZWQgYW5kIHJlbG9hZGVkIgogICAgZWxzZQogICAgICBlY2hvICJwdWJsaWMgbmdpbnggY29uZmlnIHRlc3QgZmFpbGVkLCByb2xsaW5nIGJhY2siID4mMgogICAgICBpZiBbWyAtZiAiJHtiYWNrdXBfZmlsZX0iIF1dOyB0aGVuCiAgICAgICAgY3AgLWYgIiR7YmFja3VwX2ZpbGV9IiAiJHtQVUJMSUNfTkdJTlhfQ09ORl9UQVJHRVR9IgogICAgICAgIGRvY2tlciBleGVjIG5naW54IG5naW54IC10ID4vZGV2L251bGwgMj4mMSAmJiBkb2NrZXIgZXhlYyBuZ2lueCBuZ2lueCAtcyByZWxvYWQgPi9kZXYvbnVsbCAyPiYxIHx8IGRvY2tlciByZXN0YXJ0IG5naW54ID4vZGV2L251bGwgMj4mMSB8fCB0cnVlCiAgICAgIGZpCiAgICAgIHJldHVybiAxCiAgICBmaQogIGVsc2UKICAgIGVjaG8gInB1YmxpYyBuZ2lueCBjb25maWcgc3luY2VkOyBuZ2lueCBjb250YWluZXIgbm90IHJ1bm5pbmcsIHNraXAgcmVsb2FkIgogIGZpCn0KCmRvY2tlciBybSAtZiAicnVveWktbW9uaXRvciIgPi9kZXYvbnVsbCAyPiYxIHx8IHRydWUKZG9ja2VyIHJtIC1mICJydW95aS1qb2IiID4vZGV2L251bGwgMj4mMSB8fCB0cnVlCmRvY2tlciBybSAtZiAicnVveWktZ2VuIiA+L2Rldi9udWxsIDI+JjEgfHwgdHJ1ZQpkb2NrZXIgcm0gLWYgInpvdW1oLXRvb2xzIiA+L2Rldi9udWxsIDI+JjEgfHwgdHJ1ZQpkb2NrZXIgcm0gLWYgInpvdW1oLWhvdGVsLW1vbml0b3IiID4vZGV2L251bGwgMj4mMSB8fCB0cnVlCmNsZWFudXBfcmVtb3ZlZF9tb2R1bGVfbWVudV9kYXRhCnN5bmNfcHVibGljX25naW54X2NvbmYKCnJ1bl9qYXZhX3NlcnZpY2UoKSB7CiAgbG9jYWwgbmFtZT0iJDEiCiAgbG9jYWwgamFyX25hbWU9IiQyIgogIGxvY2FsIGphdmFfb3B0cz0iJDMiCiAgbG9jYWwgZG9ja2VyX21lbW9yeT0iJDQiCiAgbG9jYWwgZG9ja2VyX21lbW9yeV9yZXNlcnZhdGlvbj0iJDUiCiAgc2hpZnQgNQoKICBpZiBbWyAhIC1mICIke1BBQ0tBR0VfRElSfS8ke2phcl9uYW1lfSIgXV07IHRoZW4KICAgIGVjaG8gInNraXAgJHtuYW1lfTogJHtqYXJfbmFtZX0gbm90IGZvdW5kIgogICAgcmV0dXJuIDAKICBmaQoKICBkb2NrZXIgcm0gLWYgIiR7bmFtZX0iID4vZGV2L251bGwgMj4mMSB8fCB0cnVlCgogIGRvY2tlciBydW4gLWQgXAogICAgLS1uYW1lICIke25hbWV9IiBcCiAgICAtLXJlc3RhcnQgdW5sZXNzLXN0b3BwZWQgXAogICAgLS1uZXR3b3JrIGhvc3QgXAogICAgLS1tZW1vcnk9IiR7ZG9ja2VyX21lbW9yeX0iIFwKICAgIC0tbWVtb3J5LXJlc2VydmF0aW9uPSIke2RvY2tlcl9tZW1vcnlfcmVzZXJ2YXRpb259IiBcCiAgICAtLXBpZHMtbGltaXQ9IiR7RE9DS0VSX1BJRFNfTElNSVR9IiBcCiAgICAtLWxvZy1vcHQgbWF4LXNpemU9MjBtIFwKICAgIC0tbG9nLW9wdCBtYXgtZmlsZT0zIFwKICAgIC1lIFRaPSIke1RaX05BTUV9IiBcCiAgICAtZSAiSkFWQV9PUFRTPSR7REVGQVVMVF9KQVZBX09QVFN9ICR7amF2YV9vcHRzfSIgXAogICAgIiRAIiBcCiAgICAtdiAiJHtQQUNLQUdFX0RJUn06L2FwcCIgXAogICAgLXYgIiR7TE9HX0RJUn06L2xvZ3MiIFwKICAgIC12ICIke0pBVkFfVE1QRElSfToke0pBVkFfVE1QRElSfSIgXAogICAgIiR7SkFWQV9JTUFHRX0iIFwKICAgIHNoIC1sYyAibWtkaXIgLXAgJyR7SkFWQV9UTVBESVJ9JyAmJiBleGVjIGphdmEgXCRKQVZBX09QVFMgLWphciAvYXBwLyR7amFyX25hbWV9ID4gL2xvZ3MvJHtuYW1lfS5sb2cgMj4mMSIKCiAgZWNobyAic3RhcnRlZCAke25hbWV9Igp9CgpydW5famF2YV9zZXJ2aWNlIFwKICAicnVveWktYXV0aCIgXAogICJydW95aS1hdXRoLmphciIgXAogICIke0pBVkFfT1BUU19BVVRIfSIgXAogICIke0RPQ0tFUl9NRU1PUllfQVVUSH0iIFwKICAiJHtET0NLRVJfTUVNT1JZX1JFU0VSVkFUSU9OX0FVVEh9IiBcCiAgLWUgIlNQUklOR19DTE9VRF9OQUNPU19TRVJWRVJfQUREUj0ke05BQ09TX0FERFJ9IiBcCiAgLWUgIlNQUklOR19DTE9VRF9OQUNPU19VU0VSTkFNRT0ke05BQ09TX1VTRVJOQU1FfSIgXAogIC1lICJTUFJJTkdfQ0xPVURfTkFDT1NfUEFTU1dPUkQ9JHtOQUNPU19QQVNTV09SRH0iCgpydW5famF2YV9zZXJ2aWNlIFwKICAicnVveWktc3lzdGVtIiBcCiAgInJ1b3lpLW1vZHVsZXMtc3lzdGVtLmphciIgXAogICIke0pBVkFfT1BUU19TWVNURU19IiBcCiAgIiR7RE9DS0VSX01FTU9SWV9TWVNURU19IiBcCiAgIiR7RE9DS0VSX01FTU9SWV9SRVNFUlZBVElPTl9TWVNURU19IiBcCiAgLWUgIlNQUklOR19DTE9VRF9OQUNPU19TRVJWRVJfQUREUj0ke05BQ09TX0FERFJ9IiBcCiAgLWUgIlNQUklOR19DTE9VRF9OQUNPU19VU0VSTkFNRT0ke05BQ09TX1VTRVJOQU1FfSIgXAogIC1lICJTUFJJTkdfQ0xPVURfTkFDT1NfUEFTU1dPUkQ9JHtOQUNPU19QQVNTV09SRH0iIFwKICAtZSAiU1BSSU5HX0NMT1VEX05BQ09TX0RJU0NPVkVSWV9TRVJWSUNFPXJ1b3lpLXN5c3RlbSIKCnJ1bl9qYXZhX3NlcnZpY2UgXAogICJydW95aS1maWxlIiBcCiAgInJ1b3lpLW1vZHVsZXMtZmlsZS5qYXIiIFwKICAiJHtKQVZBX09QVFNfRklMRX0iIFwKICAiJHtET0NLRVJfTUVNT1JZX0ZJTEV9IiBcCiAgIiR7RE9DS0VSX01FTU9SWV9SRVNFUlZBVElPTl9GSUxFfSIgXAogIC1lICJTUFJJTkdfQ0xPVURfTkFDT1NfU0VSVkVSX0FERFI9JHtOQUNPU19BRERSfSIgXAogIC1lICJTUFJJTkdfQ0xPVURfTkFDT1NfVVNFUk5BTUU9JHtOQUNPU19VU0VSTkFNRX0iIFwKICAtZSAiU1BSSU5HX0NMT1VEX05BQ09TX1BBU1NXT1JEPSR7TkFDT1NfUEFTU1dPUkR9IgoKcnVuX2phdmFfc2VydmljZSBcCiAgInJ1b3lpLWdhdGV3YXkiIFwKICAicnVveWktZ2F0ZXdheS5qYXIiIFwKICAiJHtKQVZBX09QVFNfR0FURVdBWX0iIFwKICAiJHtET0NLRVJfTUVNT1JZX0dBVEVXQVl9IiBcCiAgIiR7RE9DS0VSX01FTU9SWV9SRVNFUlZBVElPTl9HQVRFV0FZfSIgXAogIC1lICJTUFJJTkdfQ0xPVURfTkFDT1NfU0VSVkVSX0FERFI9JHtOQUNPU19BRERSfSIgXAogIC1lICJTUFJJTkdfQ0xPVURfTkFDT1NfVVNFUk5BTUU9JHtOQUNPU19VU0VSTkFNRX0iIFwKICAtZSAiU1BSSU5HX0NMT1VEX05BQ09TX1BBU1NXT1JEPSR7TkFDT1NfUEFTU1dPUkR9IiBcCiAgLWUgIlNFQ1VSSVRZX0NBUFRDSEFfRU5BQkxFRD1mYWxzZSIgXAogIC1lICJTUFJJTkdfREFUQV9SRURJU19IT1NUPSR7UkVESVNfSE9TVH0iIFwKICAtZSAiU1BSSU5HX0RBVEFfUkVESVNfUE9SVD0ke1JFRElTX1BPUlR9IiBcCiAgLWUgIlNQUklOR19EQVRBX1JFRElTX1BBU1NXT1JEPSR7UkVESVNfUEFTU1dPUkR9IiBcCiAgLWUgIlNQUklOR19EQVRBX1JFRElTX0RBVEFCQVNFPSR7UkVESVNfREFUQUJBU0V9IgoKaWYgW1sgLW4gIiR7UE9TVF9ERVBMT1lfQ01EOi19IiBdXTsgdGhlbgogIHNoIC1sYyAiJHtQT1NUX0RFUExPWV9DTUR9IgpmaQoKZG9ja2VyIHJ1biAtLXJtICIke0pBVkFfSU1BR0V9IiBqYXZhIC12ZXJzaW9uIDI+JjEgfCBoZWFkIC1uIDEgfHwgdHJ1ZQoKbG9naW5fcHJvYmU9J3sidXNlcm5hbWUiOiJhZG1pbiIsInBhc3N3b3JkIjoiYWRtaW4xMjMifScKc2xlZXAgMjAKcHJvYmVfcmVzcG9uc2U9IiQoY3VybCAta3NTIC1IICdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24nIC1kICIke2xvZ2luX3Byb2JlfSIgaHR0cHM6Ly96b3VtaC5jb20vcHJvZC1hcGkvYXV0aC9sb2dpbiB8fCB0cnVlKSIKZ2F0ZXdheV9wcm9iZT0iJChjdXJsIC1zUyAtSCAnQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uJyAtZCAiJHtsb2dpbl9wcm9iZX0iIGh0dHA6Ly8xMjcuMC4wLjE6ODA4MC9hdXRoL2xvZ2luIHx8IHRydWUpIgplY2hvICJsb2dpbl9wcm9iZV9yZXNwb25zZT0ke3Byb2JlX3Jlc3BvbnNlfSIKZWNobyAiZ2F0ZXdheV9wcm9iZV9yZXNwb25zZT0ke2dhdGV3YXlfcHJvYmV9IgppZiBwcmludGYgJyVzXG4lcycgIiR7cHJvYmVfcmVzcG9uc2V9IiAiJHtnYXRld2F5X3Byb2JlfSIgfCBncmVwIC1FcSAnImNvZGUiOjUwMHw1MDIgQmFkIEdhdGV3YXknOyB0aGVuCiAgZWNobyAiLS0tIGdhdGV3YXkubG9nIHRhaWwgLS0tIgogIHRhaWwgLW4gODAgIiR7TE9HX0RJUn0vcnVveWktZ2F0ZXdheS5sb2ciIDI+L2Rldi9udWxsIHx8IHRydWUKICBlY2hvICItLS0gYXV0aC5sb2cgdGFpbCAtLS0iCiAgdGFpbCAtbiA4MCAiJHtMT0dfRElSfS9ydW95aS1hdXRoLmxvZyIgMj4vZGV2L251bGwgfHwgdHJ1ZQogIGVjaG8gIi0tLSBzeXN0ZW0ubG9nIHRhaWwgLS0tIgogIHRhaWwgLW4gODAgIiR7TE9HX0RJUn0vcnVveWktc3lzdGVtLmxvZyIgMj4vZGV2L251bGwgfHwgdHJ1ZQpmaQoKZG9ja2VyIHN0YXRzIC0tbm8tc3RyZWFtIC0tZm9ybWF0ICd7ey5OYW1lfX1cdHt7Lk1lbVVzYWdlfX0nIHwgZ3JlcCAtRSAncnVveWktKGF1dGh8c3lzdGVtfGZpbGV8Z2F0ZXdheSknIHx8IHRydWUKZG9ja2VyIHBzIC0tZm9ybWF0ICd0YWJsZSB7ey5OYW1lc319XHR7ey5TdGF0dXN9fScgfCBncmVwIC1FICdydW95aS0oYXV0aHxzeXN0ZW18ZmlsZXxnYXRld2F5KScgfHwgdHJ1ZQplY2hvICItLS0gcnVveWktZmlsZS5sb2cgdGFpbCAtLS0iCnRhaWwgLW4gMTIwICIke0xPR19ESVJ9L3J1b3lpLWZpbGUubG9nIiAyPi9kZXYvbnVsbCB8fCB0cnVlCmVjaG8gIi0tLSByZXN0YXJ0aW5nIGNvbnRhaW5lcnMgLS0tIgpkb2NrZXIgcHMgLWEgLS1maWx0ZXIgc3RhdHVzPXJlc3RhcnRpbmcgLS1mb3JtYXQgJ3RhYmxlIHt7Lk5hbWVzfX1cdHt7LlN0YXR1c319JyB8fCB0cnVlCg==
+ 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=set -e
docker rm -f seata >/dev/null 2>&1 || true
docker run -d --name seata --restart unless-stopped --network docker-compose_backend alpine:3.20 sh -lc "while true; do sleep 3600; done"
docker rm -f ncm2mp3 >/dev/null 2>&1 || true
mkdir -p /zoumh/java/zmh/backend/ncm2mp3
curl -L --fail --retry 3 -o /zoumh/java/zmh/backend/ncm2mp3/ncm2mp3-1.0.0.jar https://raw.githubusercontent.com/zoumh001207/zoumh/a98cf6bce7db76c6a8d7c788c03438562b53ef5f/tools/ncm2mp3/ncm2mp3-1.0.0.jar
docker run -d --name ncm2mp3 --restart unless-stopped --network docker-compose_backend --memory=512m --memory-reservation=192m --pids-limit=128 --log-opt max-size=20m --log-opt max-file=3 -e TZ=Asia/Shanghai -e SERVER_PORT=1207 -v /zoumh/java/zmh/backend/ncm2mp3:/app eclipse-temurin:21-jre sh -lc 'exec java -jar /app/ncm2mp3-1.0.0.jar'
sleep 6
cp -f /zoumh/java/zmh/backend/nginx/nginx.conf /zoumh/data/nginx/conf/nginx.conf
docker exec nginx getent hosts seata
docker exec nginx getent hosts ncm2mp3
docker exec nginx nginx -t
docker exec nginx nginx -s reload /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
skip public nginx sync: target is empty
a0f95d982a7ea9a6075b1a0c286a4197e7f43012cf15dca8dbda3105c8c1f78f
started ruoyi-auth
86dec857b37d833da2c87a06259bd5fada79db96346049fac7b194df743a6b6f
started ruoyi-system
09df1c40b55632c73be30957be6ec39976baf1b8ca198387ec88dc2a483fce47
started ruoyi-file
ee0b44e3a698e3df40a6475c8819fe9b2dc9863bd11cb147499b88c214dfc70e
started ruoyi-gateway
Unable to find image 'alpine:3.20' locally
3.20: Pulling from library/alpine
76eb174b37c3: Pulling fs layer
90cca658fc45: Download complete
7208ffea29d1: Download complete
76eb174b37c3: Download complete
76eb174b37c3: Pull complete
Digest: sha256:a4f4213abb84c497377b8544c81b3564f313746700372ec4fe84653e4fb03805
Status: Downloaded newer image for alpine:3.20
8aa650c71cc3b312e236e802cd092d15564134fe844719f81220245f890d4576
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
23 21.9M 23 5352k 0 0 4764k 0 0:00:04 0:00:01 0:00:03 4761k
49 21.9M 49 10.7M 0 0 5055k 0 0:00:04 0:00:02 0:00:02 5054k
75 21.9M 75 16.5M 0 0 5438k 0 0:00:04 0:00:03 0:00:01 5438k
100 21.9M 100 21.9M 0 0 5530k 0 0:00:04 0:00:04 --:--:-- 5530k
14cc3cca0659dbd86f4f1fffe06725cfcf2071a0f3c1154ee00cd1d07278f233
172.21.0.11 seata seata
172.21.0.10 ncm2mp3 ncm2mp3
nginx: [emerg] cannot load certificate "/etc/letsencrypt/live/zoumh.com/fullchain.pem": BIO_new_file() failed (SSL: error:80000002:system library::No such file or directory:calling fopen(/etc/letsencrypt/live/zoumh.com/fullchain.pem, r) error:10000080:BIO routines::no such file)
nginx: configuration file /etc/nginx/nginx.conf test failed