Како да повежете апликацију за пролећно покретање помоћу Гоогле-овог Јиба

Слика 1: Слике јавора доцкера без фрикције са Јибом!

Здраво! Док сам недавно радио на платформи заснованој на пролећу, размишљао сам којим путем бих желео да докујим микросервис. Тако сам наишао на Јиб, прилично нов приступ питању који је развио Гоогле.

Овај пост говори о коришћењу Јиб-а, тачније јиб-мавен-плугина, за изградњу контејнерске апликације за пролећно подизање система.

Демо пројекат коришћен у овом посту можете пронаћи овде:

Шта је Јиб

Оно што Јиб доноси у табелу је да вам омогућава да креирате контејнер једноставним додавањем додатка у алат за прављење по вашем избору (Мавен или Градле). Нема додатних датотека, само неколико линија конфигурације и она обрађује све кораке пакирања ваше апликације у слику контејнера.

Са сопственим речима Гоогле цлоуд тима:

Јиб је отворени изворни Јава контејнерски програм који омогућава Јава програмерима да граде контејнере користећи Јава алате које познају. Не захтева да пишете Доцкерфиле или имате инсталиран доцкер, а директно је интегрисан у Мавен и Градле.

У „традиционалном“ току израде слике од Јава до Доцкера, потребан нам је Доцкерфиле и инсталирани доцкер демон, као што је приказано у наставку:

Слика 2: Традиционални кораци за креирање слике доктора из Јава апликације.

Као што дијаграм показује, у току израде Јиб вам је потребан само додатак фајл за изградњу пројекта:

Слика 3: Јиб начин за креирање слике доктора из Јава апликације.

Поставити

Није у овом досегу постављање Јава развојног окружења, али нека покуша!

  1. Обавезно инсталирајте Јава 8+.
  2. Користићемо мавен, па ако није присутан, инсталирајте мавен 3.5+.
  3. Проверите да ли вам је инсталиран доцкер и ако користите Линук, ваш корисник има дозер приступ.
  4. Нека је ваш омиљени ИДЕ инсталиран (помрачење или идеја).

Креирајте основну пролећну апликацију за покретање система

То се може учинити или путем прољећног иницијализра или путем вашег омиљеног ИДЕ-а. Ако сте користили прољетни иницијализр, морат ћете увести ново креирани пројект мавен у свој ИДЕ (ецлипсе / идеа).

Додајте јиб-мавен-плугин у свој пом.кмл

За врло основну слику која се локално чува у вашој апликацији, конфигурирајте додатак јиб-мавен у свом пом.кмл на следећи начин:

Саставите апликацију и направите слику

Сада можемо саставити апликацију и проверити да ли је слика креирана у нашем локалном складишту доктора.

Идите у коријенску фасциклу пројекта преко терминала и извршите:

мвн саставити јиб: доцкерБуилд

Мавен буилд трупци требају садржавати редове као што је слиједеће:

[ИНФО] - - јиб-мавен-плугин: 0.10.1: доцкерБуилд (дефаулт-цли) @ спринг-боот-јиб - -
[ИНФО]
[ИНФО] Садржај апликације за Доцкер даемон као спрингбоотјиб ...
[УПОЗОРЕЊЕ] Основна слика 'гцр.ио/дистролесс/јава' не користи одређени преглед слика - састављање можда није могуће поновити
[ИНФО] Добијање основне слике гцр.ио/дистролесс/јава…
[ИНФО] Слој изградње зависности ...
[ИНФО] Слој за изградњу ресурса…
[ИНФО] Грађење слоја класе…
[ИНФО] Довршавање…
[ИНФО]
[ИНФО] Улазна тачка контејнера постављена на [јава, -цп, / апп / ресоурце: / апп / класе: / апп / либс / *, цом.јибдемо.СпрингБоотЈибАпплицатион]
[ИНФО] Учитавање у Доцкер даемон-у…
[ИНФО]
[ИНФО] Изграђена је слика у Доцкерову демону као спрингбоотјиб

Све док нема грешака и видимо да је мавен „Саградио слику Доцкеровом демону као Спрингбоотјиб“ сви смо спремни.

Покрените слику доктора

У овом тренутку требали бисмо имати нову слику доктора у нашем локалном складишту. Можемо да проверимо извршењем слике доктора лс и требало би да видимо слику сличну овој:

спрингбоотјиб латест еб4беа693650 3 хоурс аго 135МБ

Уочите врло малу величину слике (135мб), што је последица гцр.ио/дистролесс/јава слике коју Јиб подразумевано користи (видећемо како то можемо променити касније).

Дакле, сада можемо покренути слику као и обично куцањем доцкер рун -ит спрингбоотјиб и провјерити да ли се апликација ради како се очекивало.

Конфигурирање Јиб додатка за фино подешавање наше Доцкер слике

Можемо даље копати дубље и конфигурирати Јиб додатак како бисмо уклопили неколико уобичајених сценарија као што су пријава у доцкер репозиториј, излагање портова, одабир специфичне основне слике итд.

На пример, у следећој конфигурацији слика:

  • Изграђена је из базе опењдк: алпине (извучено из Доцкер Хуб-а)
  • Преусмерен је на лоцалхост: 5000 / спрингбоотјиб: 0.0.1-СНАПСХОТ, лоцалхост: 5000 / спрингбоотјиб: алпине, анд лоцалхост: 5000 / спрингбоотјиб: најновије
  • Покреће се позивом јава -Ксмс256м -Ксдебуг -цп апп / либс / *: апп / ресурси: апп / класе цом.јибдемо.СпрингБоотЈибАпплицатион соме аргс
  • Излаже порт 8001 за тцп (подразумевано) и портове 8002 и 8003 за удп
  • Има ознаку (име: спрингбоотјиб)
  • Грађен је као ОЦИ формат

Сада можете поново саставити слику и видети разлику у мавен записима:

[ИНФО] --- јиб-мавен-плугин: 0.10.1: доцкерБуилд (дефаулт-цли) @ спринг-боот-јиб ---
[ИНФО]
[ИНФО] Садржај апликације за Доцкер-ов демон као лоцалхост: 5000 / спрингбоотјиб: 0.0.1-СНАПСХОТ, лоцалхост: 5000 / спрингбоотјиб: алпине, лоцалхост: 5000 / спрингбоотјиб ...
[ИНФО] Добијање основне слике опењдк: алпине ...
[ИНФО] Слој изградње зависности ...
[ИНФО] Слој за изградњу ресурса ...
[ИНФО] Грађење слоја класе ...
[ИНФО] Основна слика захтева аутх. Покушај поново за опењдк: алпине ...
[ИНФО] Дохваћање вјеродајница регистра за регистер.хуб.доцкер.цом ...
[ИНФО] Довршавање ...
[ИНФО]
[ИНФО] Концепт за унос контејнера постављен на [јава, -Ксмс256м, -Ксдебуг, -цп, / апп / ресоурце: / апп / класе: / апп / либс / *, цом.јибдемо.СпрингБоотЈибАпплицатион]
[ИНФО] Учитавање у Доцкер-ов демон ...
[ИНФО]
[ИНФО] Изграђена слика у Доцкер-ов демон као лоцалхост: 5000 / спрингбоотјиб: 0.0.1-СНАПСХОТ, лоцалхост: 5000 / спрингбоотјиб: алпине, лоцалхост: 5000 / спрингбоотјиб

У сегменту дневника изнад наведите да је додатак извукао слику опењдк: алпине из Доцкер Хуб-а, слику је изградио у три различито обележене верзије и сачувао их у нашем локалном складишту.

Зашто сам пуцао са Јибом

  • Не требате одржавати Доцкерфиле, покретати Доцкер-ов демон, или се чак бринути око стварања дебелог ЈАР-а са свим његовим зависностима.
  • Искориштава слојевитост слике и кеширање регистра за постизање брзих, инкременталних градњи.
  • Може се конфигурирати за стварање репродуцибилних слика израде све док ваши улази не остану исти.

Закључак

Користећи друге мавен додатке попут оних из спотифи-а и фабриц8 за прављење слика доцкер-а за јава апликације, поздрављам што је Гоогле преузео то питање. Потребно јој је мање датотека него додатка фабриц8 и (по мом скромном мишљењу) је лакше конфигурирати него додатак спотификовати. Свакако препоручујем да га испробате!

Изјава о одрицању одговорности: Ово није чланак за упоређивање, само моје гледиште на то потпомогнуто личним искуством.

Увек можете прочитати више о Јиб-овом гитхуб репо-у који садржи детаљне информације о свим конфигурацијским параметрима. Хвала што сте прочитали до сада! Надам се да си уживао! Слободно оставите своје коментаре овде.

О мени

Хеј, хвала што сте свратили. Ја сам независни инжењер с пуним стацком, наглашавајући на стражњем крају и девОпс-у. Занима ме израда прототипа / МВП-а и развој платформи које се размештају у облаку, определећи се за стварање пословне вредности.

Више о мени и мојој причи можете прочитати овде. Ако желите разговарати о послу или само контактирати, пошаљите ми е-маил: тасос.тсаоусис@цодедлинес.цом.