Temurin-build: ꡬ성 맀개 λ³€μˆ˜λ₯Ό μ •μ˜ν•΄μ•Όν•˜λŠ” μœ„μΉ˜μ— λŒ€ν•œ λͺ…ν™•μ„±

에 λ§Œλ“  2020λ…„ 10μ›” 08일  Β·  6μ½”λ©˜νŠΈ  Β·  좜처: adoptium/temurin-build

https://github.com/AdoptOpenJDK/openjdk-build/pull/2125#pullrequestreview -504661752의 ν† λ‘ μ—μ„œ λΆ„λ¦¬λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

ꡬ성 맀개 λ³€μˆ˜μ˜ λ³€κ²½ μœ„μΉ˜λŠ” 지침을 μ œκ³΅ν•΄μ•Όν•©λ‹ˆλ‹€. λ‚˜λŠ” ν˜„μž¬ μ„Έ κ³³ 쀑 ν•˜λ‚˜μ— 있기 λ•Œλ¬Έμ— FAQ 의이 μ„Ήμ…˜μ„ ν•¨κ»˜ 넣을 λ•Œ 그것을 λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€. μ–΄λ–€ 것을 μ‚¬μš©ν• μ§€λŠ” μš°λ¦¬κ°€ λˆ„κ΅¬μ—κ²Œ 영ν–₯을 미치 κΈΈ μ›ν•˜λŠ”μ§€μ— 달렀 있으며, 과거에 이미 ν˜Όλž€μ„ 뢈러 일으켰던 변경이 μ–΄λ””μ—μ„œ μ΄λ£¨μ–΄μ Έμ•Όν•˜λŠ”μ§€μ— λŒ€ν•œ λͺ…ν™•ν•œ 이해λ₯Ό ν”Όν–ˆμŠ΅λ‹ˆλ‹€. μš”μ•½ :

| μœ„μΉ˜ | 영ν–₯ |
| --- | --- |
| groovy 파일 (이 PR에 따라) | μ  ν‚¨μŠ€ νŒŒμ΄ν”„ 라인을 톡해 싀행될 λ•Œλ§Œ |
| ν”Œλž«νΌ 별 ꡬ성 슀크립트 | build-farm / make-adopt-build-farm.sh (νŒŒμ΄ν”„ 라인 포함)λ₯Ό μ‚¬μš©ν•˜λŠ” μ‚¬λžŒλ“€μ€ 우리 기계에 νŠΉμ •ν•œ κ²ƒμ΄μ–΄μ•Όν•©λ‹ˆλ‹€.
| build.sh | makejdk-any-platform.shλ₯Ό μ‹€ν–‰ν•˜λŠ” λͺ¨λ“  μ‚¬μš©μž (μ΅œμ’… μ‚¬μš©μž 포함) |

κ·Έλž˜μ„œ 그것은 μš°λ¦¬κ°€ μ›ν•˜λŠ” λ§ˆμ§€λ§‰ 쀄이 무엇인지에 달렀 μžˆμŠ΅λ‹ˆλ‹€. μ‚¬μš©μžκ°€ κ°€λŠ₯ν•œ ν•œ λ™μΌν•œ ꡬ성 μ˜΅μ…˜μœΌλ‘œ 채택 λΉŒλ“œλ₯Ό 볡제 ν•  수 μžˆλ„λ‘ ν—ˆμš©ν•˜λ €λ©΄ build.sh에 μžˆμ–΄μ•Όν•œλ‹€κ³  μƒκ°ν•˜μ§€λ§Œ μ‚¬μš©μžκ°€ 직접 λΉŒλ“œν•˜λŠ” 경우 선택 μ‚¬ν•­μ΄λ˜κΈ°λ₯Ό μ›ν•˜λ©΄ μ  ν‚¨μŠ€ νŒŒμ΄ν”„ 라인 λ‚˜μœ 선택이 μ•„λ‹™λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μš°λ¦¬λŠ” ν”„λ‘œμ νŠΈμ— μƒˆλ‘œμš΄ μ‚¬λžŒλ“€μ΄ λ³€κ²½ν•΄μ•Ό ν•  뢀뢄을 λͺ…ν™•νžˆν•΄μ•Όν•©λ‹ˆλ‹€ (예 : FAQ μ—…λ°μ΄νŠΈλ₯Ό 톡해).

μœ„μ˜ μ„Έ 가지 μœ„μΉ˜μ— ν•­λͺ©μ„ μΆ”κ°€ν•΄μ•Όν•˜λŠ” 경우의 예λ₯Ό λ“€μ–΄ 각 μœ ν˜•μ„ μ‚¬μš©ν•˜λŠ”μ‹œκΈ°λ₯Ό λ…Όμ˜ν•΄μ•Όν•©λ‹ˆλ‹€.

λ‚΄κ°€ μ œμ•ˆ ν• κ²Œ:

  • ν”Œλž«νΌ μŠ€ν¬λ¦½νŠΈλŠ” bulid의 ν™˜κ²½ λ³€μˆ˜μ— 영ν–₯을 미치고 νŠΉμ • λΉŒλ“œ λ¨Έμ‹ μ˜ λ©”λͺ¨λ¦¬ μ‚¬μš©λŸ‰μ„ μž¬μ •μ˜ν•˜λŠ” ꡬ성 맀개 λ³€μˆ˜λ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€. ν˜„μž¬ OpenJ9에 λŒ€ν•œ CUDA 및 OpenSSL μ‚¬μš©κ³Ό 같은 κΈ°λŠ₯이 μžˆμŠ΅λ‹ˆλ‹€. build.sh둜 이동할 수 μžˆμŠ΅λ‹ˆλ‹€. 여기에 VM μ„ΈλΆ€ 정보λ₯Ό ν¬ν•¨ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€ (그루비에 μΆ”κ°€ν•˜λ©΄ λ³€κ²½λ˜λŠ” 경우 더 λ§Žμ€ νŽΈμ§‘μ΄ ν•„μš”ν•¨).
  • 그루비 μŠ€ν¬λ¦½νŠΈμ—λŠ” ν˜„μž¬ dtrace 및 JITserver와 같은 기타 openJ9 μ˜΅μ…˜κ³Ό 같은 것듀이 μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ  ν‚¨μŠ€λ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠμœΌλ©΄ μ •μ˜κ°€ λ‹€μ†Œ 뢈투λͺ…ν•©λ‹ˆλ‹€. μ•„λ§ˆλ„ μš°λ¦¬λŠ” 기본적으둜 μ‹€ν–‰ν•  ν…ŒμŠ€νŠΈ μŠ€μœ„νŠΈμ™€ 일반 및 λŒ€ν˜• νž™ λΉŒλ“œλ₯Ό κ΅¬λ³„ν•˜κ³  λ‹€λ₯Έ λͺ¨λ“  것을 μ œκ±°ν•˜λŠ” μ˜΅μ…˜κ³Ό 같은 μ  ν‚¨μŠ€ κ΄€λ ¨ ν•­λͺ©μ„ μœ μ§€ν•΄μ•Όν• κΉŒμš”?
  • build.shλŠ” λΉŒλ“œ ν•œ μ‚¬λžŒ, 버그λ₯Όλ³΄κ³ ν•˜λŠ” μœ„μΉ˜, GA λΉŒλ“œμ— λŒ€ν•œ λ³„λ„μ˜ ν”Œλž˜κ·Έλ₯Ό λ‚˜νƒ€λ‚΄λŠ” 벀더 정보 등을 μ„€μ •ν•©λ‹ˆλ‹€. freetype alsa 및 X11 dev κ²½λ‘œκ°€ μ •μ˜λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€ (μ•„λ§ˆλ„ ν”Œλž«νΌ μŠ€ν¬λ¦½νŠΈμ— μžˆμ–΄μ•Ό 함). κ°œλ°œμžκ°€ OpenJDKκ°€ λΉŒλ“œλ˜λŠ” 방식에 영ν–₯을 λ―ΈμΉ˜λŠ” λŒ€λΆ€λΆ„μ˜ κΈ°λ³Έ ꡬ성 μ˜΅μ…˜μ„ 볡제 ν•  μˆ˜μžˆλŠ” νŠΉμ • λ°©μ‹μœΌλ‘œ μΌκ΄€λ˜κ²Œ λΉŒλ“œ 된 acceptopenjdkλ₯Ό 원할 경우 μ΅œλŒ€ν•œμ˜ 영ν–₯을 미치렀면 여기에 μžˆμ–΄μ•Όν•©λ‹ˆλ‹€ (λ˜λŠ”μ΄λ₯Ό ν˜•μ„±ν•˜λŠ” 슀크립트 쀑 ν•˜λ‚˜).

전체 λΉŒλ“œ 슀크립트λ₯Ό λ³€κ²½ν•  μœ„μΉ˜λ₯Ό μ΄ν•΄ν•˜λŠ” 것도 https://github.com/AdoptOpenJDK/openjdk-build/issues/957의 μΌλΆ€μ΄μ§€λ§Œ,이 μ€‘μš”ν•œ 문제λ₯Ό λͺ…ν™•νžˆν•˜κΈ° μœ„ν•΄ λ²”μœ„λ₯Ό μ•½κ°„ μ œν•œν•˜κΈ° μœ„ν•΄ 이것을 λ§Œλ“€κ³  μžˆμŠ΅λ‹ˆλ‹€.

documentation enhancement help wanted

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

μš°λ¦¬λŠ” λ˜ν•œ repos간에 νŒŒμΌμ„ λΆ„ν• ν•˜λŠ” λ¬Έμ œκ°€ μ—΄λ €μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 도움이 될 것 κ°™μŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” κ·Έλ ‡κ²Œ μ‘°κ°ν™”ν•˜λŠ” 것에 λŒ€ν•΄ λ„ˆλ¬΄ ν™•μ‹ ν•˜μ§€ λͺ»ν–ˆμ§€λ§Œ μš°λ¦¬κ°€ 어디에 μžˆμ–΄μ•Ό 할지λ₯Ό κ²°μ •ν•΄μ•Ό ν•  ν•„μš”κ°€ 있고 그것을 λ¬Έμ„œν™”ν•˜λŠ” 것은 μ‚¬μ†Œν•œ 첫 번째 단계가 될 κ²ƒμž…λ‹ˆλ‹€ (κΈ€μŽ„, κ²°μ •ν•˜λŠ” 것이 쒋은 첫 단계가 될 κ²ƒμž…λ‹ˆλ‹€.

build.sh 및 groovy 슀크립트 λͺ¨λ‘μ— μ„€μ •λœ ꡬ성 μ˜΅μ…˜μ€ ν”Œλž«νΌ μŠ€ν¬λ¦½νŠΈμ— λ³‘ν•©λ˜μ–΄μ•Όν•˜λ©° μŠ€ν¬λ¦½νŠΈλŠ” makejdk-any-platform.sh μ•„λž˜λ‘œ μ΄λ™ν•΄μ•Όν•œλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. 단일 ν”Œλž˜κ·Έ (예 : --use-default-config-args)λ₯Ό μ „λ‹¬ν•˜λ©΄ ν•΄λ‹Ή ν”Œλž˜κ·Έλ₯Ό νŠΈλ¦¬κ±°ν•˜κ±°λ‚˜ ν•΄λ‹Ή ν”Œλž˜κ·Έλ₯Ό μƒλž΅ν•˜λ©΄ λΉ„ν™œμ„±ν™”λ©λ‹ˆλ‹€ (μŠ€ν¬λ¦½νŠΈλŠ” μ‚¬μš©μžμ˜ ꡬ성 인수 만 μ‚¬μš©ν•¨).

μ΄λŸ¬ν•œ 것듀은 λ‹€μŒκ³Ό 같은 이유둜 쒋은 μƒκ°μž…λ‹ˆλ‹€.

  • ꡬ성 μΈμˆ˜κ°€ μ„€μ •λœ μœ„μΉ˜λŠ” ν•˜λ‚˜λΏμ΄λ―€λ‘œ μ‰½κ²Œ μ°Ύκ³  λ³€κ²½ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • makejdk-any-platform.sh μ•„λž˜μ—μ„œ ν”Œλž«νΌ 슀크립트λ₯Ό μ΄λ™ν•˜λ©΄ docker 이미지λ₯Ό μ‚¬μš©ν•˜λŠ” docker λΉŒλ“œκ°€ ν•˜λ‚˜μ˜ repo 만 λ³΅μ œν•˜λ©΄λ©λ‹ˆλ‹€ (λΉŒλ“œ μ €μž₯μ†Œ 뢄할이 μ™„λ£Œλœ ν›„).
  • μ‚¬μš©μžλŠ” ꡬ성 인수λ₯Ό μ„€μ •ν•˜μ§€ μ•Šκ³ λ„ makejdk-any-platform.shλ₯Ό μ‹œμž‘ν•  수 있으며, λΉŒλ“œμ— Docker 파일 쀑 ν•˜λ‚˜λ₯Ό μ‚¬μš©ν•œλ‹€κ³  κ°€μ •ν•˜λ©΄ λΉŒλ“œ ꡬ성에 ν•„μš”ν•œ λͺ¨λ“  μ˜΅μ…˜μ΄ μ œκ³΅λ©λ‹ˆλ‹€.
  • 각 λ¦΄λ¦¬μŠ€μ— λŒ€ν•΄ λ™μΌν•œ ꡬ성 νŒŒμΌμ„ λ³΅μ‚¬ν•˜λŠ” λŒ€μ‹  각 ꡬ성 μΈμˆ˜μ— λŒ€ν•΄ 버전 "λ²”μœ„"λ₯Ό μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 즉, 파일 μˆ˜κ°€ 적고 μ½”λ“œ 쀑볡이 적으며 μƒˆλ‘œμš΄ OpenJDK 버전을 μ€€λΉ„ ν•  λ•Œ 잘λͺ» 될 μˆ˜μžˆλŠ” 일의 μˆ˜λ„ 쀄어 λ“­λ‹ˆλ‹€.

build-jdk μž‘μ—…μ„ κ΅¬ν˜„ν•˜λ €κ³  ν•  λ•Œ readme μ—μ„œ μ‹œμž‘ν•˜μ—¬ makejdk-any-platform.shλ₯Ό μ‚¬μš©ν•˜μ—¬ jdkλ₯Ό λΉŒλ“œν–ˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” ν”Œλž«νΌ 별 ꡬ성 이 보이지 μ•ŠμŒμ„ 의미

λΉŒλ“œ μ‹œμŠ€ν…œ ν™˜κ²½μ— 관계없이 μ  ν‚¨μŠ€, git-hub μž‘μ—…, jdkλ₯Ό 기본적으둜 λΉŒλ“œν•˜λŠ” μ‚¬μš©μž 등을 μ‚¬μš©ν•  수 μžˆλ„λ‘ ν”Œλž«νΌ 별 ꡬ성 μ•„λž˜μ˜ νŒŒμΌμ„ λ™μΌν•œ μˆ˜μ€€μ˜ build.sh둜 이동할 수 μžˆλŠ”μ§€ κΆκΈˆν–ˆμŠ΅λ‹ˆλ‹€. 그것? μ΄λŸ¬ν•œ ν”Œλž«νΌ 별 ꡬ성은 μ  ν‚¨μŠ€κ°€ μ•„λ‹Œ ν”Œλž«νΌ 별 ꡬ성이라고 μƒκ°ν•©λ‹ˆλ‹€.

Groovy μŠ€ν¬λ¦½νŠΈλŠ” μ  ν‚¨μŠ€ νŠΉμ • λΉŒλ“œ 슀크립트이며, λ³„λ„μ˜ μ €μž₯μ†Œ https://github.com/AdoptOpenJDK/openjdk-build/issues/1108?

Groovy jenkins 맀개 λ³€μˆ˜λŠ” https://github.com/AdoptOpenJDK/ci-jenkins-pipelines/pull/67을 톡해 jenkins repo의 README.md에 λͺ…μ‹œλ˜μ–΄

이제이 (openjdk-build) μ €μž₯μ†Œμ˜ FAQλ₯Ό μ‘°μ •ν•˜μ—¬ jenkins νŠΉμ • 맀개 λ³€μˆ˜κ°€ https://github.com/AdoptOpenJDK/ci-jenkins-pipelines/pull/67 μ—μ„œ μˆ˜ν–‰λ˜μ–΄μ•Ό 함을 λͺ…ν™•νžˆ ν•  κ³„νšμž…λ‹ˆλ‹€. 및 μ „μ—­ 맀개 λ³€μˆ˜λŠ” 각각 ν”Œλž«νΌ 파일 및 build.sh μ—μ„œ μˆ˜ν–‰λ˜μ–΄μ•Όν•©λ‹ˆλ‹€.

https://github.com/AdoptOpenJDK/openjdk-build/pull/2518 이 λ³‘ν•©λ˜μ–΄ λ¬Έμ„œ 변경이 μ™„λ£Œλ˜μ—ˆμŠ΅λ‹ˆλ‹€. 이것은 ν”„λ‘œμ νŠΈμ— μƒˆ 맀개 λ³€μˆ˜λ₯Ό μΆ”κ°€ν•˜λ €λŠ” λͺ¨λ“  μ‚¬λžŒμ„ μ²˜λ¦¬ν•΄μ•Όν•©λ‹ˆλ‹€. 이 문제의 λ§ˆμ§€λ§‰ 뢀뢄은 κΈ°μ‘΄ 맀개 λ³€μˆ˜μ™€ μœ„μΉ˜λ₯Ό μ‘°μ‚¬ν•˜κ³ , ν˜„μž¬ μœ„μΉ˜μ—μ„œ 각각의 적합성을 ν‰κ°€ν•˜κ³ ,이 평가λ₯Ό 기반으둜 λ‹€λ₯Έ μœ„μΉ˜λ‘œ μ΄λ™ν•΄μ•Όν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό ν‰κ°€ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 이것은 λ§Žμ€ μž‘μ—…μ΄ 될 것이며 ν˜„μž¬ μ²˜λ¦¬ν•˜κ³ μžˆλŠ” μš°μ„  μˆœμœ„κ°€ 높은 μ—¬λŸ¬ μž‘μ—…μ„ κ³ λ €ν•  λ•Œ 합리적인 μ‹œκ°„ 내에이 μž‘μ—…μ„ μ™„λ£Œ ν•  μ‹œκ°„μ΄ 없을 것 κ°™μŠ΅λ‹ˆλ‹€.

λ”°λΌμ„œ λ‚΄ 할당을 μ œκ±°ν•˜κ³  λ‹€λ₯Έ μ‚¬λžŒμ—κ²Œ μ—°κΈ°ν•˜μ—¬ κΈ°μ‘΄ 맀개 λ³€μˆ˜λ₯Ό μž¬ν‰κ°€ ν•  κ²ƒμž…λ‹ˆλ‹€.

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