Два начина за примену јавне ГитХуб Пагес странице из приватног Хуго-овог спремишта

Држите своје нацрте даље од очију јавности тако што ћете користити алате за непрекидно постављање да бисте објавили своју јавну страницу ГитХуб Пагес - из засебног приватног складишта.

Алати попут Травис ЦИ и Нетлифи нуде неке прилично сјајне функције, попут неприметног постављања ваше странице ГитХуб Пагес када се промене гурају у њено спремиште. Заједно са статичким генератором страница попут Хуго-а, редовно ажурирање блога прилично је безболно.

Годинама сам користио Хуго за изградњу своје странице, али до прошле недеље никада нисам повезао своје спремиште страница са било којом услугом примене. Зашто? Зато што се чинило да је за употребу алата који је саградио моју веб локацију пре примене било потребно имати цео рецепт на једном месту - а ако користите ГитХуб Пагес са бесплатном верзијом ГитХуб-а, то место је јавно. То значи да би све моје светле идеје од три ујутро и неуредни недовршени (и несмешни) нацрти били јавно доступни - и никаква стална погодност неће ме наговорити на то.

Дакле, држао сам ствари одвојене, с Хуговим неуредним стварима иза кулиса у локалном Гит спремишту, а генерисана public/фасцикла гурала се у моје удаљено спремиште ГитХуб Пагес. Сваки пут кад бих желео да поставим своју страницу, морао бих да се попнем на свој лаптоп и hugoда направим своју веб страницу, затим cd public/ && git add . && git commit... итд итд. И све је било у реду, осим мучног осећаја да постоји бољи начин за то.

Написао сам још један чланак о коришћењу ГитХуб-а и Воркинг Цопи-а за уношење промена у своја спремишта на иПад-у кад год сам вани. Чинило ми се да могу све, осим да инсталирам своју веб локацију са иПад-а, па сам кренуо да то променим.

Неколико бистрих идеја три ујутро и опозив приступног токена касније (упс), сада имам не један већ два начина да се распоредим у своје јавно спремиште ГитХуб Пагес из потпуно одвојеног, приватног ГитХуб спремишта. У овом посту ћу вас провести кроз постизање овога помоћу Травис ЦИ или помоћу Нетлифи анд Маке.

Нема ту ништа хакирано - моје јавно спремиште ГитХуб Пагес и даље изгледа исто као и кад сам га локално гурнуо са свог терминала. Тек сада сам у могућности да искористим неколико сјајних алата за примену како бих ажурирао веб локацију кад год пређем на свој приватни репо, без обзира да ли сам на лаптопу или вани и користим иПад.

Овај чланак претпоставља да имате радно знање о Гит и ГитХуб страницама. Ако не, можда бисте желели да издвојите неке картице прегледача из мојих чланака о коришћењу ГитХуб-а и Воркинг Цопи-а и да прво направите страницу са Хуго и ГитХуб страницама.

Урадимо то!

Приватно-јавно постављање ГитХуб страница са Травис ЦИ

Травис ЦИ има уграђену способност (♪) да се распореди на ГитХуб Пагес након успешне израде. Они пристојно раде у документима објашњавајући како да додате ову функцију, посебно ако сте раније користили Травис ЦИ ... што ја нисам. Не брините, главну реч сам смислио уместо вас.

  • Травис ЦИ добија сва упутства из конфигурационе датотеке у корену вашег спремишта под називом .travis.yml
  • Морате да обезбедите ГитХуб лични приступни токен као сигурну шифровану променљиву, коју можете генерисати помоћу travisкомандне линије
  • Када ваша скрипта успешно заврши оно што сте јој наредили (не нужно оно што желите , али то је читав други пост на блогу), Травис ће распоредити ваш директоријум за изградњу у спремиште које можете одредити помоћу repoпроменљиве конфигурације.

Постављање Трависове конфигурационе датотеке

Направите нову конфигурациону датотеку за Травис са именом датотеке .travis.yml(обратите пажњу на водећу „.“). Ове скрипте су врло прилагодљиве и трудио сам се да пронађем релевантан пример који бих користио као почетну тачку - срећом, немате тај проблем!

Ево мојих основних .travis.yml:

git: depth: false env: global: - HUGO_VERSION="0.54.0" matrix: - YOUR_ENCRYPTED_VARIABLE install: - wget -q //github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_${HUGO_VERSION}_Linux-64bit.tar.gz - tar xf hugo_${HUGO_VERSION}_Linux-64bit.tar.gz - mv hugo ~/bin/ script: - hugo --gc --minify deploy: provider: pages skip-cleanup: true github-token: $GITHUB_TOKEN keep-history: true local-dir: public repo: gh-username/gh-username.github.io target-branch: master verbose: true on: branch: master

Ова скрипта преузима и инсталира Хуго, гради локацију са прикупљањем смећа и умањује заставице, а затим поставља public/директоријум на наведено repo- у овом примеру, ваше јавно складиште ГитХуб Пагес. О свакој од deployопција конфигурације можете прочитати овде.

Да бисте додали токен личног приступа ГитХуб-у као шифровану променљиву, не морате ручно да га уређујете .travis.yml. У travisгем команде испод ће шифровање и додати променљиву за вас кад их ради у именику спремишта.

Прво инсталирајте travisса sudo gem install travis.

Затим генеришите свој ГитХуб токен за лични приступ, копирајте га (приказује се само једном!) И покрените наредбе доле у ​​корену спремишта, замењујући ваш токен пољупцима:

travis login --pro --github-token xxxxxxxxxxxxxxxxxxxxxxxxxxx travis encrypt GITHUB_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxx --add env.matrix

Ваш шифровани токен се магично појављује у датотеци. Једном када се предате .travis.ymlсвом приватном Хуго спремишту, Травис ЦИ ће покренути скрипту и ако израда успе, распоредити ће вашу веб локацију на ваш јавни ГитХуб Пагес репо. Магија!

Травис ће увек покренути изградњу сваки пут када притиснете своје приватно спремиште. Ако не желите да покренете ово понашање одређеним урезивањем, додајте skipнаредбу поруци урезивања.

То је супер, али ја волим Нетлифи.

Ок добро.

Примена у засебно спремиште помоћу Нетлифи и Маке

Можемо добити Нетлифи да даје понуде користећи Макефиле који ћемо покренути помоћу Нетлифи-ове наредбе за изградњу.

Ево како Makefileизгледа наш изглед:

SHELL:=/bin/bash BASEDIR=$(CURDIR) OUTPUTDIR=public .PHONY: all all: clean get_repository build deploy .PHONY: clean clean: @echo "Removing public directory" rm -rf $(BASEDIR)/$(OUTPUTDIR) .PHONY: get_repository get_repository: @echo "Getting public repository" git clone //github.com/gh-username/gh-username.github.io.git public .PHONY: build build: @echo "Generating site" hugo --gc --minify .PHONY: deploy deploy: @echo "Preparing commit" @cd $(OUTPUTDIR) \ && git config user.email "[email protected]" \ && git config user.name "Your Name" \ && git add . \ && git status \ && git commit -m "Deploy via Makefile" \ && git push -f -q //$(GITHUB_TOKEN)@github.com/gh-username/gh-username.github.io.git master @echo "Pushed to remote"

Да бисмо сачували Гит историју нашег одвојеног спремишта ГитХуб Пагес, прво ћемо га клонирати, израдити на њему нашу нову Хуго страницу, а затим га гурнути назад у спремиште Пагес. Ова скрипта прво уклања све постојеће public/фасцикле које могу садржати датотеке или Гит историју. Затим клонира наше спремиште страница у public/, гради нашу Хуго страницу (у суштини ажурира датотеке у public/), а затим се брине о томе да нову страницу преда у спремиште страница.

У deployодељку ћете приметити редове који почињу са &&. То су ланчане команде. Пошто Маке позива сваку нову љуску за сваку линију, она почиње испочетка са сваком новом линијом из нашег основног директорија. Да бисмо cdсе држали и избегавали покретање наших Гит наредби у основном директоријуму пројекта, ланцима повезујемо команде и користимо знак коса црта за разбијање дугих линија ради читљивости.

Ланцирањем наших команди, моћи ћемо да конфигуришемо свој Гит идентитет, додамо све наше ажуриране датотеке и креирамо урезивање за наше спремиште страница.

Слично коришћењу Травис ЦИ, мораћемо да проследимо ГитХуб токен за лични приступ да бисмо га проследили у наше јавно спремиште ГитХуб Пагес - само Нетлифи не пружа једноставан начин за шифровање токена у нашем Макефиле-у.

Уместо тога, користићемо Нетлифи-ове променљиве окружења за изградњу, које живе безбедно у подешавањима наше веб локације у апликацији Нетлифи. Тада можемо позвати нашу променљиву токена у датотеци Макефиле. Користимо га за гурање (тихо, како бисмо избегли штампање токена у евиденцијама) до нашег спремишта страница прослеђивањем у удаљени УРЛ.

Да бисмо избегли штампање токена у евиденцијама Нетлифи-а, потискујемо одјек рецепта за ту линију са водећим @ликом.

Помоћу датотеке Макефиле у корену вашег приватног ГитХуб спремишта можете да подесите Нетлифи да је покреће уместо вас.

Постављање Нетлифи-а

Подешавање Нетлифи-а путем веб корисничког интерфејса је једноставно. Једном када се пријавите са ГитХуб, одаберите приватно ГитХуб спремиште у којем живи ваша Хуго локација. Следећа страница коју Нетлифи води омогућава вам да унесете поставке постављања:

Можете одредити наредбу буилд која ће покретати вашу датотеку Макефиле ( make allза овај пример). Подружница за постављање и директоријум за објављивање у нашем конкретном случају нису превише важни, јер се бавимо само пребацивањем на посебно спремиште. Можете ући у типичну masterграну постављања и publicобјавити директоријум.

У оквиру „Напредне поставке израде“ кликните на „Нова променљива“ да бисте додали свој ГитХуб токен личног приступа као променљиву окружења за изградњу. У нашем примеру, име променљиве је GITHUB_TOKEN. Кликните на „Деплои сите“ да бисте остварили магију.

Ако сте већ поставили своје спремиште помоћу Нетлифи-а, пронађите поставке за континуирано постављање у оквиру Подешавања> Изгради и примени.

Нетлифи ће израдити вашу веб локацију сваки пут када притиснете приватно спремиште. Ако не желите да одређена урезивања покрену изградњу, додајте [skip ci]своју поруку урезивања Гит.

Исти исти, али различити

Један од ефеката коришћења Нетлифи-а на овај начин је да ће се ваша веб локација изградити на два места: једно је засебно, јавно спремиште ГитХуб страница на које Макефиле гура, а друго је ваша Нетлифи локација која се на свом ЦДН-у поставља из повезаног приватног ГитХуб-а спремиште. Ово последње је корисно ако ћете се играти са Деплои Превиевс и другим Нетлифи функцијама, али оне су изван делокруга овог поста.

Главна ствар је да је ваша страница ГитХуб Пагес сада ажурирана у вашем јавном репо-у. То, бре!

Идите и распоредите се неустрашиво

Надам се да ће ефекат ових нових информација бити да се осећате способнијим да ажурирате своје веб локације, ма где се налазили. Могућности је безброј - код куће на каучу са преносним рачунаром, у кафићу са иПадом или усред првог састанка на телефону. Бескрајно!