рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ JavaрдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╣рд░реЛрдХреВ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рд╣реЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдПрдХ HTTP рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рдкреНрд░рд╛рд╡рдзрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЧреНрд░рд╛рд╣рдХ рдХреАрд╕реНрдЯреЛрд░реНрд╕ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рдореБрджреНрджреЛрдВ рдХрд╛ 
- рдкрд╛рд╕рд╡рд░реНрдб рдФрд░ рдЕрдиреНрдп рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдбреЗрдЯрд╛ рдХреЛ 
рдЖрдорддреМрд░ рдкрд░ .p12рдпрд╛ jksред
рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддреА рд╣реИ рдЬреИрд╕реЗ рд╣реА рдПрдХ рд╕рдорд╛рди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд░рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ 
- рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд▓реЛрдЧреЛрдВ  
 
- рд╡рд╣реА рдбреЙрдХрд░ рдЫрд╡рд┐рдпреЛрдВ рдФрд░ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рд╕рдорд╛рди рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрдИ рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред 
 
- рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ - Java!
 
 
рд╕реБрд░рдХреНрд╖рд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
- рд╕реБрд░рдХреНрд╖рд╛ рдЕрдзрд┐рдХрд╛рд░реА (OB) Base64
- рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ - рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдЖрдпрд╛рдд рдПрдХ рдПрдиреНрдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ Base64рдореЗрдВ- рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ, - рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
- рдЕрдм, рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде рд▓реЛрдЧреЛрдВ рдХреЗ рдХреЗрд╡рд▓ рдПрдХ рдЪрдХреНрд░ 
рдЖрдЗрдП рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд▓рд╛рдПрдБ:
- рдЬреБрдмрд╛рди: Java
- рдордВрдЪ: Heroku
- рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдгрд╛рд▓реА: Gradle
- рдореБрдЦреНрдп рд╕рдВрдЧреНрд░рд╣рдг рдкреНрд░рд╛рд░реВрдк: PKCS12
.P12 рдлрд╝рд╛рдЗрд▓ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ
рдЕрдкрдиреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
рд╣рд░реЛрдХреВ рдХреЛ рдЖрдпрд╛рдд
- рдХреЗ рд▓рд┐рдП рдЬрд╛рдУ Heroku
- SettingsрдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдЕрдиреБрднрд╛рдЧ рдкрд░ рдЬрд╛рдПрдВ
- "Reveal the config vars"
- :
 - keyStoreFileNameтАФ , "private_key.p12"
- keyStoreBase64тАФ- Base64, " .p12"
- keyStorePasswordтАФ , .p12
- keyStoreTypeтАФ- pkcs12
- trustStoreTypeтАФ- jks
 
.p12 Gradle
guild.gradle stage:
task initKeyStore() {
    doLast {
        println("Creating keystore file from environment variables.")
        String keyStoreFileName = System.getenv("keyStoreFileName")
        if (keyStoreFileName != null) {
            String keyStoreBase64 = System.getenv("keyStoreBase64")
            new File(keyStoreFileName).withOutputStream {
                it.write(Base64.decoder.decode(keyStoreBase64))
            }
        }
    }
}
stage.dependsOn(initKeyStore)
"procfile" Heroku
"procfile" Heroku .
, shell тАФ runApp.sh.
runApp.sh:
java \
 -Dserver.port=$PORT \
...
 -Djavax.net.ssl.keyStoreType=$keyStoreType \
 -Djavax.net.ssl.trustStoreType=$trustStoreType \
 -Djavax.net.ssl.keyStore=$keyStoreFileName \
 -Djavax.net.ssl.keyStorePassword=$keyStorePassword \
 $JAVA_OPTS \
...
git (push) (commit):
git update-index --chmod=+x runApp.sh
git commit -m '    runApp.sh'
git push origin master
Heroku 32 
, .
- , Heroku,GradleP12- , procfile,Heroku.
- .p12- Java
- .
!