рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЕрдкрдиреЗ рдкреЛрд╕реНрдЯ_рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдЗрд╕ рддрд░рд╣ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ:
"output": "boxes/rhel-server-6.5-x64-{{.Provider}}-{{.BuildName}}_{{timestamp}}.box"
рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХреЗ рдмрдЬрд╛рдп {{git_hash}} рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдкреИрдХрд░ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдФрд░ рддрд░реАрдХрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВред
рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: packer/config_template.goред
рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд▓рдЧреЗрдЧрд╛ред
рдЙрджрд╛рд╣рд░рдг: рдпрджрд┐ рд╣рдо рдЕрдкрдиреЗ рдХрдардкреБрддрд▓реА рд╕реНрдЯреИрдХ рдХреЗ рд╕рдВрдкреВрд░реНрдг рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдпрд╣ рднреА рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХрд┐рд╕ рдкреИрдХрд░ рдмреЙрдХреНрд╕ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рд╣рдореЗрдВ рд╡рд╣ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдСрдбрд┐рдЯрд┐рдВрдЧ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рдЖрдкрджрд╛ рд╡рд╕реВрд▓реА рд░рдгрдиреАрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реИред
рд╡рд┐рдЪрд╛рд░? рд╡рд┐рдХрд▓реНрдк?
_рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ_:
рдПрдХ рдЧрдВрджреЗ рдЧрд┐рдЯ рдкреЗрдбрд╝ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдкреИрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╕ рднреА рд╣реИ, рдЬрд╣рд╛рдВ рдкрд░рд┐рдгрд╛рдореА рд╣реИрд╢ рд╕рдЯреАрдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЖрдк рд╢рд╛рдпрдж рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЧрд┐рдЯ рд╣реИрд╢ рдХреЛ 'dirty_tree' рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ ..
рд╣рдореНрдоред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧрд┐рдЯ-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдиреНрдп рдПрд╕рд╕реАрдПрдо рдХреЗ рд▓рд┐рдП рджреНрд╡рд╛рд░ рдЦреЛрд▓рддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдорд╛рди рд╕реНрддрд░ рдХреА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред рдХреНрдпрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-var рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
packer -var "git_sha=`git rev-parse HEAD`"
рдФрд░ рдлрд┐рд░ рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд░реЗрдВ:
{
"variables": {
"git_sha": "none"
}
}
{{git_hash}}
рдХреБрдЫ рдзрд╛рд░рдгрд╛рдПрдВ рдмрдирд╛рддрд╛ рд╣реИ, рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЧрд┐рдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрд┐рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЧрд┐рдЯ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рд╕рд╣реА рдпреВрдПрдХреНрд╕ рдвреВрдВрдврдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдХреНрдпрд╛ рд╣рдо рддреНрд░реБрдЯрд┐ рдХрд░рддреЗ рд╣реИрдВ, рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЖрджрд┐)ред
рд╕рд╣рдордд рд╣реИрдВ @sethvargo
рдЬреЛ рд▓реЛрдЧ рдЗрд╕реЗ рдкрдврд╝ рд░рд╣реЗ рд╣реИрдВ рдЙрдирдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдЫреЛрдЯреА рдпреБрдХреНрддрд┐: рдЖрдк --short
рддрд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рд░реЗрд╡-рдкрд╛рд░реНрд╕ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
packer -var "git_sha=`git rev-parse --short HEAD`"
$#$ 21feafa9a86a45b3008d133f0803d2ac2087c63f
$#$ рдХреЗ рдмрдЬрд╛рдп 21feafa
рдЬреИрд╕реЗ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рд╣рдореНрдоред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧрд┐рдЯ-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдиреНрдп рдПрд╕рд╕реАрдПрдо рдХреЗ рд▓рд┐рдП рджреНрд╡рд╛рд░ рдЦреЛрд▓рддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдорд╛рди рд╕реНрддрд░ рдХреА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред рдХреНрдпрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-var рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдФрд░ рдлрд┐рд░ рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд░реЗрдВ:
{{git_hash}}
рдХреБрдЫ рдзрд╛рд░рдгрд╛рдПрдВ рдмрдирд╛рддрд╛ рд╣реИ, рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЧрд┐рдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрд┐рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЧрд┐рдЯ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рд╕рд╣реА рдпреВрдПрдХреНрд╕ рдвреВрдВрдврдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдХреНрдпрд╛ рд╣рдо рддреНрд░реБрдЯрд┐ рдХрд░рддреЗ рд╣реИрдВ, рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЖрджрд┐)ред