Packer: κ²°κ³Ό 파일의 이름을 μ§€μ •ν•˜λŠ” git-hash ν•¨μˆ˜

에 λ§Œλ“  2014λ…„ 12μ›” 01일  Β·  3μ½”λ©˜νŠΈ  Β·  좜처: hashicorp/packer

ν˜„μž¬ λ‹€μŒκ³Ό 같이 post_processorλ₯Ό μ‚¬μš©μž μ •μ˜ν•©λ‹ˆλ‹€.

"output": "boxes/rhel-server-6.5-x64-{{.Provider}}-{{.BuildName}}_{{timestamp}}.box"

νƒ€μž„ μŠ€νƒ¬ν”„ λŒ€μ‹  {{git_hash}}κ°€ 있으면 쒋을 κ²ƒμž…λ‹ˆλ‹€. 패컀의 ν•¨μˆ˜ 호좜 외에 λ‹€λ₯Έ 방법이 μžˆλ‹€λ©΄ κ·Έ 방법에 λŒ€ν•΄ 잘 μ•Œμ§€ λͺ»ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” 이것이 μˆ˜ν–‰λ  수 μžˆλŠ” 곳을 λ³Έλ‹€: packer/config_template.go.

λ‚˜λŠ” λŒ€λΆ€λΆ„μ˜ μ‚¬λžŒλ“€μ΄ 이것을 μœ μš©ν•˜κ²Œ 생각할 것이라고 μƒκ°ν–ˆμŠ΅λ‹ˆλ‹€.

예: κΌ­λ‘κ°μ‹œ μŠ€νƒμ˜ 전체 ꡬ성을 μ•Œκ³  μ‹Άλ‹€λ©΄ 각 λ…Έλ“œκ°€ κ΅¬μΆ•λœ 패컀 μƒμžλ„ μ•Œμ•„μ•Ό ν•˜λŠ”λ° νƒ€μž„μŠ€νƒ¬ν”„λŠ” 이λ₯Ό μ•Œλ €μ£Όμ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 감사 λ˜λŠ” μ΅œμ•…μ˜ μž¬λ‚œ 볡ꡬ μ „λž΅μ„ μœ„ν•΄ 가지고 μžˆλŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

생각? λŒ€μ•ˆ?

_νŽΈμ§‘ν•˜λ‹€_:

κ²°κ³Ό ν•΄μ‹œκ°€ μ •ν™•ν•˜μ§€ μ•Šμ€ 더티 git νŠΈλ¦¬μ— λŒ€ν•΄ 패컀λ₯Ό μ‹€ν–‰ν•˜λŠ” μ‚¬μš© 사둀도 μžˆμŠ΅λ‹ˆλ‹€. 이 경우 git ν•΄μ‹œκ°€ 'dirty_tree'λ₯Ό λ°˜ν™˜ν•˜κΈ°λ₯Ό 원할 κ²ƒμž…λ‹ˆλ‹€.

waiting-reply

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

흠. git κ΄€λ ¨ κΈ°λŠ₯을 μΆ”κ°€ν•˜λŠ” 것은 κΉŒλ‹€λ‘­λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. λ™μΌν•œ μˆ˜μ€€μ˜ μ „λ¬Έ 지식이 없을 수 μžˆλŠ” λ‹€λ₯Έ SCM을 μœ„ν•œ 문이 열리기 λ•Œλ¬Έμž…λ‹ˆλ‹€. λ‹€μŒκ³Ό 같이 user-varλ₯Ό μ‚¬μš©ν•  수 μ—†λŠ” μ΄μœ κ°€ μžˆμŠ΅λ‹ˆκΉŒ?

packer -var "git_sha=`git rev-parse HEAD`"

그런 λ‹€μŒ λ³€μˆ˜λ₯Ό μ„ μ–Έν•©λ‹ˆλ‹€.

{
  "variables": {
    "git_sha": "none"
  }
}

{{git_hash}} λŠ” λͺ‡ 가지 가정을 ν•©λ‹ˆλ‹€. κ°€μž₯ μ€‘μš”ν•œ 것은 Git이 μ„€μΉ˜λ˜μ–΄ μžˆλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. λͺ¨λ“  μ‚¬μš©μžκ°€ Git을 μ‚¬μš©ν•˜λŠ” 것은 μ•„λ‹ˆλ―€λ‘œ git이 μ„€μΉ˜λ˜μ§€ μ•Šμ€ μƒνƒœμ—μ„œ μ˜¬λ°”λ₯Έ UXλ₯Ό μ°ΎλŠ” 것이 μ–΄λ €μšΈ 수 μžˆμŠ΅λ‹ˆλ‹€(였λ₯˜ λ°œμƒ, 빈 λ¬Έμžμ—΄λ‘œ ꡐ체 λ“±).

λͺ¨λ“  3 λŒ“κΈ€

흠. 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 와 같은 값을 μ–»μœΌλ €λ©΄ .

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰