Подесите овај ток посла да аутоматски примените своју апликацију у производњу и поједноставите процес објављивања.
Нетлифи је платформа за веб хостинг и свеобухватан скуп алата за примену и управљање веб апликацијама у облаку.
Али његове карактеристике се протежу далеко даље од тога — његове функције без сервера вам омогућавају да покренете код на страни сервера без наменског сервера.
Истражите како да подесите ЦИ/ЦД цевовод да примените Ноде.јс РЕСТ АПИ на Нетлифи користећи ГитХуб Ацтионс.
ЦИ/ЦД канали са ГитХуб акцијама: Преглед
Цјевоводи за континуирану интеграцију и континуирану испоруку (ЦИ/ЦД) су низ узастопних, аутоматизованих процеса којима се софтверске апликације подвргавају пре него што се испоруче у производњу.
Типично, ЦИ/ЦД цјевоводи се састоје од неколико кључних фаза, укључујући фазе извора, изградње, тестирања и имплементације.
Иако је могуће извршити ове фазе ручно, њихова аутоматизација нуди неколико предности, укључујући:
- Минимизирање ризика од људских грешака.
- Убрзавање процеса ослобађања.
- Обезбеђивање доследног тока посла за испоруку квалитетног софтвера у производњу.
Шта су ГитХуб акције?
ГитХуб Ацтионс је алатка интегрисана у ГитХуб која пружа широк спектар унапред направљених радњи које можете користити да дефинишете токове посла као код директно у свом репозиторијуму пројекта да бисте аутоматизовали ЦИ/ЦД цевовода.
Такође можете креирати прилагођене радње које одговарају вашим специфичним потребама пројекта, што вам омогућава да направите и примените апликације у производњи без проблема. Једна од предности ГитХуб Ацтионс-а је његова беспрекорна интеграција са другим ГитХуб функцијама, као што су захтеви за повлачење и праћење проблема.
Ово омогућава покретање токова посла на основу специфичних догађаја, као што је ново урезивање које осигурава да се ваши ЦИ/ЦД цевоводи аутоматски покрећу када је то потребно.
Подесите пројекат Ноде.јс
Да бисте започели, морате креирати експрес веб сервер. Да бисте то урадили, креирајте нову фасциклу локално и промените директоријум на свом терминалу.
мкдир екпресс-нетлифи
цд екпресс-нетлифи
Затим креирајте а пацкаге.јсон датотеку користећи нпм, менаџер пакета чворова.
нпм инит -и
На крају, инсталирајте зависности потребне у пројекту.
нпм инсталл екпресс нетлифи-ламбда серверлесс-хттп
Тхе нетлифи-ламбда пакет служи као локални развојни сервер који олакшава тестирање функција без сервера. серверлесс-хттп помаже у прилагођавању Екпресс.јс апликација на формат који је компатибилан са руковаоцима функцијама без сервера.
Нетлифи не пружа изворну подршку за хостовање и покретање пуноправних позадинских апликација. Уместо тога, нуди функције без сервера као алтернативно решење за руковање позадинским функцијама.
Ове функције управљају логиком на страни сервера, рукују ХТТП АПИ захтевима и служе динамичком садржају, обезбеђујући функционалност налик позадинском делу у оквиру парадигме без сервера.
Код овог пројекта можете пронаћи у њему ГитХуб спремиште.
Креирајте Екпресс веб сервер
Направите три фасцикле: дист, функције, и срц у основном директоријуму фасцикле вашег пројекта.
Пре него што подесите Екпресс сервер, направите празно место индек.хтмл фајл у дист фолдер. Ова датотека делује као чувар места који омогућава Нетлифи-у да успешно примени Екпресс апликацију и служи АПИ рутама.
Сада, креирајте а срц/апп.јс датотеку и додајте следећи код:
конст екпресс = захтевају("изразити");
конст без сервера = захтевају("хттп-без сервера");конст апп = екпресс();
конст рутер = експрес. Роутер();роутер.гет("/", (рек, рес) => {
рес.сенд("Здраво Свете!")
});апп.усе(`/.нетлифи/фунцтионс/апп`, рутер);
модул.екпортс = апп;
модул.екпортс.хандлер = без сервера (апликација);
Овај код дефинише Екпресс сервер са једном рутом за основни УРЛ који обрађује ГЕТ захтеве. Тхе апп.усе функција региструје међуверски софтвер руте са Екпресс апликацијом, обезбеђујући да сви ХТТП захтеви упућени на путању
Сходно томе, ако додате нову крајњу тачку као што је /api/auth, биће доступан на
Ово омогућава локално тестирање сервера и осигурава да га можете применити као функцију без сервера на Нетлифи-у.
Дефинишите датотеку Нетлифи.томл
У основном директоријуму креирајте нови Нетлифи.томл датотеку и додајте следећи код.
[изградити]
база = "/"
цомманд = "нпм рун буилд"
објави = "/дист/"
функције = "функције/"
[буилд.енвиронмент]
НОДЕ_ВЕРСИОН = "16"
[функције]
ектернал_ноде_модулес = ["изразити"]
ноде_бундлер = "есбуилд"
[[преусмеравања]]
сила = истина
фром = "/апи/*"
статус = 200
то = "/.нетлифи/фунцтионс/апп/:сплат"
[[преусмеравања]]
од = "/*"
статус = 200
то = "/индек.хтмл"
Код специфицира поставке конфигурације изградње и примене за Екпресс апликацију на Нетлифи-у. Укључује подешавања као што су основни директоријум, команда за изградњу, директоријум за објављивање и директоријум функција.
Поред тога, дефинише подешавања преусмеравања која би требало да управљају рутирањем ХТТП АПИ захтева, обезбеђујући да су правилно усмерени на функције Нетлифи без сервера.
Ажурирајте датотеку Пацкаге.јсон
Отвори пацкаге.јсон датотеку и додајте ове команде у објекат скрипти.
"скрипте": {
"почетак": "нетлифи-ламбда сервице срц",
"градити": "нетлифи-ламбда буилд срц"
},
Покрените следеће команде да бисте направили и покренули апликацију локално.
нпм рун буилд
нпм рун старт
Сервер ће се покренути на порту 9000. Можете наставити и тестирати АПИ користећи Постман тако што ћете упутити захтеве за http://localhost: 9000/.нетлифи/фунцтионс/апп
Коначно, пре подешавања тока рада ГитХуб Ацтионс за аутоматизовање примене на Нетлифи-у, креирајте спремиште на ГитХуб-у, и гурните датотеке пројекта.
Поставите Екпресс апликацију на Нетлифи
Прво, примените АПИ на Нетлифи пре конфигурисања тока рада ГитХуб Ацтионс. Пратите ове кораке да бисте применили Екпресс апликацију на Нетлифи.
- Пређите на Нетлифи и направите налог и пријавите се на Преглед страна.
- Изаберите и кликните на Сајтови таб.
- Кликните на Увоз из Гит-а дугме и изаберите ГитХуб као платформа провајдера Гит. Нетлифи ће од вас затражити да се аутентификујете са ГитХуб-ом да бисте му одобрили приступ вашем налогу и репозиторијумима пројекта.
- Изаберите експресно спремиште пројекта са листе приказаних спремишта.
- Након што изаберете спремиште, потребно је да конфигуришете поставке изградње за процес имплементације. Нетлифи поједностављује овај процес аутоматским откривањем технологије која се користи за прављење апликације и унапред попуњава поља потребним подешавањима прављења. У овом случају, команда буилд, публисх и директоријум функција.
- На крају, кликните на Деплои сите дугме да завршите процес.
Креирајте радни ток ГитХуб Ацтионс
Кликните на Акције картицу у ГитХуб спремишту вашег пројекта. У Континуирано интеграција одељак, изаберите и кликните на Конфигуришите Ноде.јс Процес рада.
Из ГитХуб едитора преименујте име датотеке у Нетлифи.имл, избришите шаблонски Ноде.јс код тока посла и додајте код у наставку:
име:БуилдиРазвитидоНетлифи
на:
гурати:
пулл_рекуест:
послови:
изградити:
ради на:убунту-22.04
кораци:
-користи:ацтионс/цхецкоут@в3# ( Направи у ./дист или други директоријум... )
-име:РазвитидоНетлифи
користи:нвтгцк/ацтионс-нетлифи@в2.0
са:
публисх-дир:'./дист'
производна грана:главни
гитхуб-токен:${{тајне. ГИТХУБ_ТОКЕН}}
порука о постављању:„Развођење из ГитХуб радњи“
енабле-пулл-рекуест-цоммент:лажно
енабле-цоммит-цоммент:истина
овервритес-пуллл-рекуест-цоммент:истина
енв:
НЕТЛИФИ_АУТХ_ТОКЕН:${{тајне. НЕТЛИФИ_АУТХ_ТОКЕН}}
НЕТЛИФИ_СИТЕ_ИД:${{тајне. НЕТЛИФИ_СИТЕ_ИД}}
тајм-аут минута:1
Ево рашчлањења својстава тока посла:
- на: Догађаји који покрећу радње у овом току посла.
- пословима: Одређује догађај који одређена радња треба да покрене, а то су: догађаји изградње и постављања.
- рунс-он: окружење за производњу домаћина за акцију.
- степенице: Одређује низ корака укључених у обављање одређеног посла.
- са: Дефинише аргументе потребне да би се радње исправно покренуле.
- енв: специфицира потребне променљиве окружења за ток посла.
Коначно, унесите ажурирања направљена за ову датотеку. ГитХуб би требало аутоматски да покрене ток посла.
Међутим, почетна израда ће покренути грешку јер морате да додате тајне променљиве које захтева ток посла: ИД примењене локације и Нетлифи аутх токен. Иди до свог Подешавања сајта на Нетлифи и копирајте ИД локације.
Да бисте добили токен за потврду, кликните на профил корисника и изаберите Подешавања корисника опцију из падајућег прозора. На страници подешавања изаберите Апликације, и кликните Нови токен за приступ да бисте генерисали свој токен за потврду.
Додајте две променљиве окружења као НЕТЛИФИ_СИТЕ_ИД и НЕТЛИФИ_АУТХ_ТОКЕН у обе променљиве окружења и одељке тајни спремишта у вашем ГитХуб спремишту. Након што извршите ове промене, поново покрените ток посла. Нетлифи ће аутоматски применити све накнадне промене које унесете користећи овај цевовод.
Само напред и тестирајте АПИ користећи Постман упућивањем захтева на ову УРЛ адресу:
Конфигурисање ЦИ/ЦД цевовода помоћу ГитХуб акција и Нетлифи-а
Коришћењем Нетлифи-ових функција без сервера, можете да примените потпуно развијене веб апликације које обухватају и клијентску и позадинску функционалност на Нетлифи-у.
Поред тога, постављање ЦИ/ЦД цевовода за апликације са ГитХуб Ацтионс нуди поједностављен приступ аутоматизацији процеса изградње и примене. Ово вам омогућава да дефинишете токове посла који обезбеђују беспрекоран и поуздан развојни процес, почевши од идеје и напредовања до фазе издавања.