рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ред рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╣рд░реЛрдХреВ рдЯреВрд▓рдмреЗрд▓реНрдЯ рдФрд░ рдХрд╕реНрдЯрдо рдмрд┐рд▓реНрдбрдкреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЛ рдЕрдм рд░реВрдмреА, рдЖрд░рд╡реАрдПрдо, рдпрд╛ рдХрдИ рдЕрдиреНрдп рд░реВрдмреА-рд╕рдВрдмрдВрдзрд┐рдд рддрдХрдиреАрдХреЛрдВ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЬрд╛рд╡рд╛ / рдЧреНрд░реВрд╡реА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдпрд╣ рд╕рдм рдЙрддреНрдХреГрд╖реНрдЯ рдЬрд╛рд╡рд╛ рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рд╣реИ рдЬрд┐рд╕реЗ рд╣рд░реЛрдХреВ рдиреЗ рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдпрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╕рд░рд▓ рдЬрд╛рд╡рд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдЬреЛ рд╣рдореЗрдВ рд╕реАрдзреЗ рд╣рд░рдЦреВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЧреНрд░рд╣рдг рдлрд╛рдЙрдВрдбреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ JGit рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ Git рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдЬреЛрдбрд╝рд╛, рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдлрд╛рдпрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рдПрдХ рдЧреНрд░реИрдЧрд▓ рдкреНрд▓рдЧрдЗрди рдореЗрдВ рд▓рд┐рдкрдЯреЗ рд╣реБрдП рд╣реИрдВ рдЬреЛ рдЖрдкрдХреА рдУрд░ рд╕реЗ рд╕рдм рдХреБрдЫ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдо рд╕рднреА рдХреА рдЬрд░реВрд░рдд рд╣реИ рдПрдХ рд╕реНрдерд╛рдкрд┐рдд JDK, PATH рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рд╕рд╛рде, рдПрдХ рд╕реНрдерд╛рдкрд┐рдд рдЧреНрд░реЗрдб рдФрд░ рдПрдХ рдЕрдЪреНрдЫрд╛ рдкрд╛рда рд╕рдВрдкрд╛рджрдХред рдареАрдХ рд╣реИ, рдЪрд▓реЛ рд╢реБрд░реВ рдХрд░реЗрдВ:
рд╡рд┐рдиреНрдпрд╛рд╕
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдЕрдкрдиреА build.gradle рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ :
buildscript { repositories { ... mavenCentral() maven { url 'http://dl.bintray.com/vermeulen-mp/gradle-plugins' } } dependencies { classpath "org.gradle.api.plugins:gradle-heroku:0.9.6" } } apply plugin: 'heroku' ... heroku { //get this from heroku apiKey = 'my-api-key' //set this on first run if you don't want a generated name //appName = 'some-unique-app-name' //set this if you are not happy with the default gradlew buildpack //buildpack = 'http://somebuildpack }
рдпрд╣ рд╣рдорд╛рд░реЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рд╕реЗрдЯрдЕрдк рд╣реИ рд╣рд░рдХреЛ рдкреНрд▓рдЧ рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рд╣рд░реЛрдХреЛ рдХреЛрдб рдмреНрд▓реЙрдХ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ, рдкреНрд▓рдЧрдЗрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд╣рд╛рдВ рд╡рд░реНрдгрд┐рдд рд╣реИред рдпрд╣рд╛рдБ рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рдлрд╝реАрд▓реНрдб apiKey рд╣реИред AppName рдлрд╝реАрд▓реНрдб рдХреЛ рдкрд╣рд▓реЗ рд▓реЙрдиреНрдЪ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рдж рдХреЗ рд▓реЙрдиреНрдЪ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдпрд╣ рдлрд╝реАрд▓реНрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рд░реЛрдХреВ рдЖрдкрдХреА рдУрд░ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдирд╛рдо рдЬрдирд░реЗрдЯ рдХрд░реЗрдЧрд╛ рдФрд░ рдЖрдкрдХреЗ рд╕реНрдерд╛рдиреАрдп рдЧрд┐рдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рд╣рд░реНрдХреЛ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдЖрдк рдЬрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рдирд╛рдореЛрдВ рдХреЛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкрд╣рд▓реА рдмрд╛рд░ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╕рдордп рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд╛рдо рджреЗ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ apiKey рдХреЛ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреБрдг рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ Procfile рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ ред рдпрд╣ рдПрдХ рдЫреЛрдЯреА рдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд▓реЛрдб рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрддреА рд╣реИ рдЬрдм рд╡рд╣ рддреИрдирд╛рдд рд╣реЛрддреА рд╣реИред рдпрд╣рд╛рдВ рдПрдХ рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХрдорд╛рдВрдб рд╡реЗрдм рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ :ред рдпрд╣ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧрд╛ рдХрд┐ рдЖрдк рдХрд┐рд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдлреИрдЯ рдЬрд╛рд░ рдРрдкреНрд╕ (рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдФрд░ рдбреНрд░реЙрдкрд╡реЙрдЧрд░)
рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдореВрд▓ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдПрдХ рдкреНрд░реЙрдХреНрдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рдЬреЛрдбрд╝реЗрдВ:
--- default_process_types: web: java -jar -Dport=$PORT build/libs/my-springboot-fat.jar
рд╡рд╕рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдпрд╛ рдбреНрд░реЙрдкрд╡рд┐рдЬрд╝рд░реНрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
Ratpack
рд░реИрдЯрдкреИрдХ рдХреЛ рдирд┐рдпреБрдХреНрдд рдХрд░рдирд╛ рд▓рдЧрднрдЧ рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЯреНрд╡рд┐рдХрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рд░реВрдЯ рдПрдХреНрд╕реЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдЧреНрд░реИрдб рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдирд╛рдо рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ settings.gradle рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
Settings.gradle рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА:
rootProject.name = 'ratpack'
рдЕрдЧрд▓рд╛ рд╣рдо рдЕрдкрдирд╛ рдкреНрд░реЛрд╕реАрдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ :
--- default_process_types: web: export RATPACK_OPTS="-Dratpack.port=$PORT" && build/install/ratpack/bin/ratpack build/install/ratpack/ratpack.groovy
Buildpacks
рдпрджрд┐ рдЖрдкрдиреЗ рдЕрдкрдиреА build.gradle рдлрд╝рд╛рдЗрд▓ рдореЗрдВ heroku рдХреЛрдб рдмреНрд▓реЙрдХ рдореЗрдВ рдмрд┐рд▓реНрдбрдкреИрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдкреНрд▓рдЧрдЗрди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмрд┐рд▓реНрдбрдкреИрдХ рдХрд╛ рдЪрдпрди рдХрд░реЗрдЧрд╛ред рдЗрд╕ рдмрд┐рд▓реНрдбрдкреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдбрд┐рдкрд▓ рд░реИрдкрд░ рджреНрд╡рд╛рд░рд╛ рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдирдВрдЧреЗ рдиреНрдпреВрдирддрдо рдХрд░рддрд╛ рд╣реИ, рдмрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ gradlew рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдпрд╣ рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдЖрдкрдХреА рдмрд┐рд▓реНрдб рдлрд╝рд╛рдЗрд▓ рдХреЗ рднреАрддрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЯрд╛рд╕реНрдХ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЬрд╛рдПрдВред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛рд░реНрдп
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмрд┐рд▓реНрдбрдкреИрдХ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреМрди рд╕реЗ рдХрд╛рд░реНрдп рдЪрд▓рд╛рдиреЗ рд╣реИрдВ, рд╣рдореЗрдВ рдмрд┐рд▓реНрдб.рдЧреНрд░реЗрдб рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕реВрдЪреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рд░реИрдЯрдкреИрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдЬреЛрдбрд╝рдиреЗ рд╣реЛрдВрдЧреЗ:
defaultTasks "clean", "build", "installApp"
рдЬреЗрдбреАрдХреЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ!
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмрд┐рд▓реНрдбрдкреИрдХ рд╣рдореЗрдВ рдпрд╣ рднреА рдЪреБрдирдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ JDK рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдЖрдзрд╛рд░ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рд┐рд░реНрдл system.properties рдлрд╝рд╛рдЗрд▓ рдбрд╛рд▓реЗрдВ:
java.runtime.version=1.7
рдпрджрд┐ system.properties рдлрд╝рд╛рдЗрд▓ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдмрд┐рд▓реНрдбрдкреИрдХ рдЖрдкрдХреА рдУрд░ рд╕реЗ JDK 1.8 рдХреЛ рдорд╛рдирддрд╛ рд╣реИред
рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдУ!
рдЕрдм рддрдХ, рд╕рдм рдХреБрдЫ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдерд╛, рдЕрдм рд╣рдо рдЕрдкрдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░реЗрдВрдЧреЗред рдЯрд░реНрдорд┐рдирд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░реЗрдВ:
$ gradle tasks ... herokuAppCreate - Creates a new application on Heroku. herokuAppDeploy - Deploy the application to Heroku. herokuAppDestroy - Destroy the application on Heroku. herokuAppInfo - Displays comprehensive information about the named application. herokuAppList - Lists all Apps available for the current user on Heroku. herokuBuildpack - Downloads and explodes the specified buildpack to this project. ...
рдЕрдм рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рддреИрдирд╛рддреА рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдЗрдП рд╣рдорд╛рд░реЗ рдЖрд╡рд░рдг рдореЗрдВ рдЖрд╡рд░рдг рдЬреЛрдбрд╝рдХрд░ рд╢реБрд░реВ рдХрд░реЗрдВ:
$ ./gradlew wrapper $ git add gradlew gradle $ git commit -m 'Add wrapper.'
рдЕрдЧрд▓рд╛, рд╣рд░реЛрдХреВ рдкрд░ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рддреИрдирд╛рдд рдХрд░реЗрдВ:
$ ./gradlew herokuCreateApp $ ./gradlew herokuDeployApp
рдпрджрд┐ рд╕рдм рдареАрдХ рд╣реИ, рддреЛ рдЕрдм рдЖрдкрдХреЛ рд╣рд░реЛрдХреВ рдкрд░ рдПрдХ рддреИрдирд╛рдд рдЖрд╡реЗрджрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЖрдк GitHub рдкрд░ рдЧреНрд░реЗрдбрд┐рдВрдЧ рдкреНрд▓рдЧрдЗрди рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмрд┐рд▓реНрдбрдкреИрдХ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд╣ рд╕рдм рд╣реИ!
рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЧреНрд░реИрдбрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣реЗрд░реЛрдХреВ рдкрд░ рддреИрдирд╛рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реИред рдмрд╛рджрд▓реЛрдВ рдореЗрдВ рдореАрдареЗ рд░реВрдк рд╕реЗ рдЧрд╛рддреЗ рд╣реБрдП рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдПрдкреАрдХреА рдФрд░ рдХреБрдЫ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рд░рдЦреВ рдкрд░ рдПрдХ рдЖрд╡реЗрджрди рддреИрдирд╛рдд рдХрд░рдирд╛ рдХрднреА рдЖрд╕рд╛рди рдирд╣реАрдВ рд░рд╣рд╛! рдореВрд▓ рд▓реЗрдЦ рдпрд╣рд╛рдБ рд╣реИ ред рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред