Packer: рдкрд░рд┐рдгрд╛рдореА рдлрд╝рд╛рдЗрд▓ рдХреЗ рдирд╛рдордХрд░рдг рдХреЗ рд▓рд┐рдП git-hash рдлрд╝рдВрдХреНрд╢рди

рдХреЛ рдирд┐рд░реНрдорд┐рдд 1 рджрд┐рд╕ре░ 2014  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: hashicorp/packer

рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЕрдкрдиреЗ рдкреЛрд╕реНрдЯ_рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдЗрд╕ рддрд░рд╣ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ:

"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}} рдХреБрдЫ рдзрд╛рд░рдгрд╛рдПрдВ рдмрдирд╛рддрд╛ рд╣реИ, рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЧрд┐рдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрд┐рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЧрд┐рдЯ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рд╕рд╣реА рдпреВрдПрдХреНрд╕ рдвреВрдВрдврдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдХреНрдпрд╛ рд╣рдо рддреНрд░реБрдЯрд┐ рдХрд░рддреЗ рд╣реИрдВ, рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЖрджрд┐)ред

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╣рдореНрдоред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧрд┐рдЯ-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдиреНрдп рдПрд╕рд╕реАрдПрдо рдХреЗ рд▓рд┐рдП рджреНрд╡рд╛рд░ рдЦреЛрд▓рддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдорд╛рди рд╕реНрддрд░ рдХреА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред рдХреНрдпрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-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 рдЬреИрд╕реЗ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

s4mur4i picture s4mur4i  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

wduncanfraser picture wduncanfraser  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

PartyImp picture PartyImp  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ladar picture ladar  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

shashanksinha89 picture shashanksinha89  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ