νμ¬ λ€μκ³Ό κ°μ΄ post_processorλ₯Ό μ¬μ©μ μ μν©λλ€.
"output": "boxes/rhel-server-6.5-x64-{{.Provider}}-{{.BuildName}}_{{timestamp}}.box"
νμ μ€ν¬ν λμ {{git_hash}}κ° μμΌλ©΄ μ’μ κ²μ λλ€. ν¨μ»€μ ν¨μ νΈμΆ μΈμ λ€λ₯Έ λ°©λ²μ΄ μλ€λ©΄ κ·Έ λ°©λ²μ λν΄ μ μμ§ λͺ»νλ κ² κ°μ΅λλ€.
λλ μ΄κ²μ΄ μνλ μ μλ κ³³μ λ³Έλ€: packer/config_template.go.
λλ λλΆλΆμ μ¬λλ€μ΄ μ΄κ²μ μ μ©νκ² μκ°ν κ²μ΄λΌκ³ μκ°νμ΅λλ€.
μ: κΌλκ°μ μ€νμ μ 체 ꡬμ±μ μκ³ μΆλ€λ©΄ κ° λ Έλκ° κ΅¬μΆλ ν¨μ»€ μμλ μμμΌ νλλ° νμμ€ν¬νλ μ΄λ₯Ό μλ €μ£Όμ§ μμ΅λλ€. κ°μ¬ λλ μ΅μ μ μ¬λ 볡ꡬ μ λ΅μ μν΄ κ°μ§κ³ μλ κ²μ΄ μ’μ΅λλ€.
μκ°? λμ?
_νΈμ§νλ€_:
κ²°κ³Ό ν΄μκ° μ ννμ§ μμ λν° git νΈλ¦¬μ λν΄ ν¨μ»€λ₯Ό μ€ννλ μ¬μ© μ¬λ‘λ μμ΅λλ€. μ΄ κ²½μ° git ν΄μκ° 'dirty_tree'λ₯Ό λ°ννκΈ°λ₯Ό μν κ²μ λλ€.
ν . git κ΄λ ¨ κΈ°λ₯μ μΆκ°νλ κ²μ κΉλ€λ‘λ€κ³ μκ°ν©λλ€. λμΌν μμ€μ μ λ¬Έ μ§μμ΄ μμ μ μλ λ€λ₯Έ SCMμ μν λ¬Έμ΄ μ΄λ¦¬κΈ° λλ¬Έμ λλ€. λ€μκ³Ό κ°μ΄ user-varλ₯Ό μ¬μ©ν μ μλ μ΄μ κ° μμ΅λκΉ?
packer -var "git_sha=`git rev-parse HEAD`"
κ·Έλ° λ€μ λ³μλ₯Ό μ μΈν©λλ€.
{
"variables": {
"git_sha": "none"
}
}
{{git_hash}}
λ λͺ κ°μ§ κ°μ μ ν©λλ€. κ°μ₯ μ€μν κ²μ Gitμ΄ μ€μΉλμ΄ μλ€λ κ²μ
λλ€. λͺ¨λ μ¬μ©μκ° Gitμ μ¬μ©νλ κ²μ μλλ―λ‘ gitμ΄ μ€μΉλμ§ μμ μνμμ μ¬λ°λ₯Έ UXλ₯Ό μ°Ύλ κ²μ΄ μ΄λ €μΈ μ μμ΅λλ€(μ€λ₯ λ°μ, λΉ λ¬Έμμ΄λ‘ κ΅μ²΄ λ±).
@sethvargo μ λμν¨
μ΄ κΈμ μ½λ μ¬λλ€μ μν λ λ€λ₯Έ μμ ν: rev-parseμ --short
μΈμλ₯Ό μ¬μ©ν μ μμ΅λλ€.
packer -var "git_sha=`git rev-parse --short HEAD`"
21feafa9a86a45b3008d133f0803d2ac2087c63f
21feafa
μ κ°μ κ°μ μ»μΌλ €λ©΄ .
κ°μ₯ μ μ©ν λκΈ
ν . git κ΄λ ¨ κΈ°λ₯μ μΆκ°νλ κ²μ κΉλ€λ‘λ€κ³ μκ°ν©λλ€. λμΌν μμ€μ μ λ¬Έ μ§μμ΄ μμ μ μλ λ€λ₯Έ SCMμ μν λ¬Έμ΄ μ΄λ¦¬κΈ° λλ¬Έμ λλ€. λ€μκ³Ό κ°μ΄ user-varλ₯Ό μ¬μ©ν μ μλ μ΄μ κ° μμ΅λκΉ?
κ·Έλ° λ€μ λ³μλ₯Ό μ μΈν©λλ€.
{{git_hash}}
λ λͺ κ°μ§ κ°μ μ ν©λλ€. κ°μ₯ μ€μν κ²μ Gitμ΄ μ€μΉλμ΄ μλ€λ κ²μ λλ€. λͺ¨λ μ¬μ©μκ° Gitμ μ¬μ©νλ κ²μ μλλ―λ‘ gitμ΄ μ€μΉλμ§ μμ μνμμ μ¬λ°λ₯Έ UXλ₯Ό μ°Ύλ κ²μ΄ μ΄λ €μΈ μ μμ΅λλ€(μ€λ₯ λ°μ, λΉ λ¬Έμμ΄λ‘ κ΅μ²΄ λ±).