Sbt-github-packages: 자격 증λͺ…에 λŒ€ν•œ JVM 속성 λŒ€μ•ˆ

에 λ§Œλ“  2020λ…„ 06μ›” 10일  Β·  11μ½”λ©˜νŠΈ  Β·  좜처: djspiewak/sbt-github-packages

IntelliJλŠ” ν”„λ‘œμ νŠΈλ₯Ό λ‘œλ“œν•  λ•Œ sbt에 λŒ€ν•΄ μ„€μ •ν•  ν™˜κ²½ λ³€μˆ˜λ₯Ό μ •μ˜ν•˜λŠ” 방법을 μ œκ³΅ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— 이 ν”ŒλŸ¬κ·ΈμΈμœΌλ‘œ ν”„λ‘œμ νŠΈλ₯Ό λ‘œλ“œν•  수 μ—†μŠ΅λ‹ˆλ‹€. 이전에 μž‘λ™ν•˜λ˜ 기술이 OS μ—…λ°μ΄νŠΈμ—μ„œ μ†μƒλ˜μ—ˆκΈ° λ•Œλ¬Έμ— MacOS의 앱에 λŒ€ν•΄ μ„€μ •ν•˜λŠ” 것은 μ‹ λ’°ν•  수 μ—†λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

μ‰½κ²Œ μ„€μ •ν•  수 μžˆλŠ” JVM μ†μ„±μœΌλ‘œ github 토큰을 λŒ€μ•ˆμœΌλ‘œ μ œκ³΅ν•  수 μžˆλ‹€λ©΄ 쒋을 κ²ƒμž…λ‹ˆλ‹€.

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

IntelliJμ—μ„œ ν™˜κ²½ λ³€μˆ˜κ°€ μž‘λ™ν•˜λ„λ‘ ν•˜λ €λ©΄ ν”„λ‘œμ νŠΈ λ‹€μ‹œ λ‘œλ“œλ₯Ό μœ„ν•΄ sbt 셸을 ν™œμ„±ν™”ν•©λ‹ˆλ‹€.

λΉŒλ“œ 도ꡬ > sbt > sbt ν”„λ‘œμ νŠΈ

image

이것은 Community Edition 버전 2020.3μ—μ„œ μ €μ—κ²Œ νš¨κ³Όμ μ΄μ—ˆμŠ΅λ‹ˆλ‹€.

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

μ΄λ ‡κ²Œ ν•˜λŠ” TokenSource 에 λŒ€ν•œ PR을 μˆ˜λ½ν•˜κ²Œ λ˜μ–΄ κΈ°μ©λ‹ˆλ‹€!

이것이 도움이 될 κ²ƒμ΄λΌλŠ” 데 λ™μ˜ν•˜μ§€λ§Œ ν•„μš”ν•œ 경우 λΉ λ₯Έ/λ”λŸ¬μš΄ μ†”λ£¨μ…˜μœΌλ‘œ 이 μž‘μ—…μ„ μˆ˜ν–‰ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

  • ν•„μš”ν•œ λͺ¨λ“  νŒ¨ν‚€μ§€ λ²”μœ„(읽기, μ“°κΈ°, μ‚­μ œ)둜 개인 μ•‘μ„ΈμŠ€ 토큰을 λ§Œλ“­λ‹ˆλ‹€.
  • in ~/.gitconfig... repo README νŒŒμΌμ— μ„€λͺ…λœ λŒ€λ‘œ 토큰 속성을 μ„€μ •ν•©λ‹ˆλ‹€.
  • build.sbt νŒŒμΌμ—μ„œ... githubTokenSource := TokenSource.GitConfig("github.token") || TokenSource.Environment("GITHUB_TOKEN")
  • IntelliJ + sbt 셸은 λˆ„λ½λœ ν™˜κ²½ λ³€μˆ˜μ— λŒ€ν•΄ λΆˆν‰ν•˜μ§€ μ•Šκ³  성곡해야 ν•©λ‹ˆλ‹€.

κ·Έ ν•΄κ²° 방법은 λ‚˜λ₯Ό μœ„ν•΄ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

κ·Έ ν•΄κ²° 방법은 λ‚˜λ₯Ό μœ„ν•΄ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μ‚¬μš©ν•œ 개인용 μ•‘μ„ΈμŠ€ 토큰에 νŒ¨ν‚€μ§€ λ²”μœ„κ°€ μ„€μ •λ˜μ–΄ μžˆμŠ΅λ‹ˆκΉŒ? ~/.gitconfig νŒŒμΌμ—λŠ” λ‹€μŒκ³Ό 같은 쀄이 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.

[github]
    token = <github_token_value>

예, .gitconfig νŒŒμΌμ— μžˆλŠ” λ‚΄μš©μž…λ‹ˆλ‹€.

κ·Έ ν•΄κ²° 방법은 λ‚˜λ₯Ό μœ„ν•΄ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μ‚¬μš©ν•œ 개인용 μ•‘μ„ΈμŠ€ 토큰에 νŒ¨ν‚€μ§€ λ²”μœ„κ°€ μ„€μ •λ˜μ–΄ μžˆμŠ΅λ‹ˆκΉŒ? ~/.gitconfig νŒŒμΌμ—λŠ” λ‹€μŒκ³Ό 같은 쀄이 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.

[github]
  token = <github_token_value>

λΉ„μŠ·ν•œ ~/.gitconfig 을 μ‹œλ„ν–ˆμ§€λ§Œ 제 ν˜Έμ˜μ—λ„ λ§žμ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

IntelliJμ—μ„œ ν™˜κ²½ λ³€μˆ˜κ°€ μž‘λ™ν•˜λ„λ‘ ν•˜λ €λ©΄ ν”„λ‘œμ νŠΈ λ‹€μ‹œ λ‘œλ“œλ₯Ό μœ„ν•΄ sbt 셸을 ν™œμ„±ν™”ν•©λ‹ˆλ‹€.

λΉŒλ“œ 도ꡬ > sbt > sbt ν”„λ‘œμ νŠΈ

image

이것은 Community Edition 버전 2020.3μ—μ„œ μ €μ—κ²Œ νš¨κ³Όμ μ΄μ—ˆμŠ΅λ‹ˆλ‹€.

IntelliJμ—μ„œ ν™˜κ²½ λ³€μˆ˜κ°€ μž‘λ™ν•˜λ„λ‘ ν•˜λ €λ©΄ ν”„λ‘œμ νŠΈ λ‹€μ‹œ λ‘œλ“œλ₯Ό μœ„ν•΄ sbt 셸을 ν™œμ„±ν™”ν•©λ‹ˆλ‹€.

λΉŒλ“œ 도ꡬ > sbt > sbt ν”„λ‘œμ νŠΈ

image

이것은 Community Edition 버전 2020.3μ—μ„œ μ €μ—κ²Œ νš¨κ³Όμ μ΄μ—ˆμŠ΅λ‹ˆλ‹€.

이것은 λ‚˜λ₯Ό μœ„ν•΄ μž‘λ™ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. ν™˜κ²½ λ³€μˆ˜λ₯Ό 톡해 κ΅¬μ„±ν–ˆμŠ΅λ‹ˆλ‹€. ν•΄κ²° λ°©λ²•μœΌλ‘œ sbt-dotenv ν”ŒλŸ¬κ·ΈμΈμ„ μ‚¬μš©ν•˜μ—¬ 이 문제λ₯Ό ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€. κ·Έ ν›„ IntelliJ ꡬ성 λ˜λŠ” 기타 λ³€κ²½ 사항 없이 λͺ¨λ“  것이 μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€.

이 문제 μ—μ„œ μ œμ•ˆλœ ν•΄κ²° λ°©λ²•μ˜ λ³€ν˜•μ΄ IntelliJ 섀정에 μ μš©λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

githubTokenSource := TokenSource.Or(
  TokenSource.Environment("GITHUB_TOKEN"), // Injected during a github workflow for publishing
  TokenSource.GitConfig("github.token") // local token set in ~/.gitconfig
)

우리 νŒ€μ€ githubTokenSource 값을 build.sbt의 각 ν”„λ‘œμ νŠΈ ꡬ성 블둝에 곡톡 μ„€μ •μœΌλ‘œ μ£Όμž…ν•˜μ—¬ 단일 ν”„λ‘œμ νŠΈ 및 닀쀑 ν”„λ‘œμ νŠΈ λΉŒλ“œλ‘œ 이 문제λ₯Ό ν•΄κ²°ν–ˆλ‹€κ³  μƒκ°ν–ˆμŠ΅λ‹ˆλ‹€. ~/.gitconfig github.token ν•­λͺ©μ΄ μžˆκ±°λ‚˜ GITHUB_TOKEN ν™˜κ²½ λ³€μˆ˜κ°€ μžˆλŠ” μ‚¬μš©μž, IDE 및 GitHub μž‘μ—… μž‘μ—… κ³΅κ°„μ—μ„œ λͺ¨λ“  것이 μž˜λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

우리 쀑 ν•œ λͺ…이 Lagom ν”ŒλŸ¬κ·ΈμΈμ˜ runAll μž‘μ—…μ„ μ‚¬μš©ν•˜κΈ°λ‘œ κ²°μ •ν•˜κΈ° μ „κΉŒμ§€.

이것은 μ›λž˜ λ¬Έμ œμ— λŒ€ν•΄ μ¦‰μ‹œ μ£½μŠ΅λ‹ˆλ‹€.

μ„œλΉ„μŠ€ λ–Όλ₯Ό λ°°ν¬ν•˜κΈ° μœ„ν•΄ Lagom ν”ŒλŸ¬κ·ΈμΈμ—μ„œ μ‚¬μš©ν•˜λŠ” λΆ„κΈ° μ»¨ν…μŠ€νŠΈμ—λŠ” ν™˜κ²½ λ³€μˆ˜μ™€ ~/.gitconfig 파일이 λͺ¨λ‘ μ—†μŠ΅λ‹ˆλ‹€.

μš°λ¦¬λŠ” λΆ„κΈ°λœ μ‹€ν–‰ ν™˜κ²½μ— λŒ€ν•œ ν™˜κ²½μ„ μ„€μ •ν•˜λŠ” 방법을 μ—°κ΅¬ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ GitHub νŒ¨ν‚€μ§€ ν”ŒλŸ¬κ·ΈμΈ μž‘μ—…μ΄ ν˜ΈμΆœλ˜μ§€ μ•ŠλŠ” κ²½μš°μ—λ„ GITHUB_TOKEN이 μ œκ³΅λ˜μ–΄μ•Ό ν•œλ‹€λŠ” μ „λ°˜μ μΈ 가정은 ν•΄λ‹Ή 토큰을 이미 μ‰½κ²Œ μ‚¬μš©ν•  수 μžˆλŠ” μ‚¬μš©μžμ™€ λ΄‡μ—κ²Œ μ‹€λ§μŠ€λŸ¬μš΄ κ²ƒμœΌλ‘œ 판λͺ…λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

SBT μ „λ¬Έκ°€.

githubTokenSource sbt-github-packages 와 같은 ν”ŒλŸ¬κ·ΈμΈμ΄ λͺ¨λ“  λ™μ μœΌλ‘œ μ •μ˜λœ ν”„λ‘œμ νŠΈ( Lagom의 ν”ŒλŸ¬κ·ΈμΈμ΄ μƒμ„±ν•˜λŠ” κ²ƒμ²˜λŸΌ), λͺ¨λ“  λΉŒλ“œ 단계 및 λͺ¨λ“  λΆ„κΈ° μ»¨ν…μŠ€νŠΈμ— λŒ€ν•΄?

SBTκ°€ λ„€μž„μŠ€νŽ˜μ΄μŠ€ λ˜λŠ” μƒνƒœ μΊμ‹œλ₯Ό κ΄€λ¦¬ν•˜λŠ” 방법에 λŒ€ν•œ μ„ΈλΆ€ 정보λ₯Ό μžμ„Ένžˆ μ‚΄νŽ΄λ΄μ•Ό ν•˜λŠ” λͺ¨λ“  μˆœμ—΄μ— 걸쳐 κ³„μ†ν•΄μ„œ λ³€ν•˜μ§€ μ•ŠλŠ” 자격 증λͺ…μ˜ μœ„μΉ˜λ₯Ό ​​λͺ…μ‹œμ μœΌλ‘œ μ£Όμž₯ν•΄μ•Ό ν•˜λŠ” 것은 번거둜운 μΌμž…λ‹ˆλ‹€.

μ•„λ§ˆλ„ 이것은 이 νŠΉμ • ν”ŒλŸ¬κ·ΈμΈμ˜ 잘λͺ»μ΄ μ•„λ‹ˆμ§€λ§Œ 이 ν”ŒλŸ¬κ·ΈμΈμ€ λͺ¨λ“  경우λ₯Ό μ»€λ²„ν•˜κΈ° μœ„ν•΄ 이 λͺ¨λ“  λ‚΄λΆ€ SBT μˆ˜μˆ μ„ μˆ˜ν–‰ν•΄μ•Ό ν•˜λŠ” 것에 λŒ€ν•΄ λΉ„λ‚œλ°›λŠ” κ²ƒμž…λ‹ˆλ‹€.

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