سلام! منهنجو نالو ديما آهي، مان Wrike تي SysOps ٽيم لاءِ ٽيڪنيڪل ليڊ آهيان. هن آرٽيڪل ۾ آئون توهان کي ٻڌايان ٿو ته هڪ ويب سائيٽ ڪيئن ٿي سگهي صارف جي ويجهو 10 منٽ ۽ 5 ڊالر هڪ مهيني ۾ ۽ ان جي ترتيب کي خودڪار ڪرڻ. مضمون جو تقريبا ڪجھ به نه آهي انهن مسئلن سان جيڪو اسان پنهنجي ٽيم جي اندر حل ڪريون ٿا. اهو بلڪه منهنجو ذاتي تجربو آهي ۽ هڪ ٽيڪنالاجي کي ڄاڻڻ جو تاثر آهي جيڪو مون لاء نئين آهي. مون ڪوشش ڪئي ته انهن مرحلن کي جيترو ٿي سگهي تفصيل سان بيان ڪيو وڃي ته جيئن هدايتون مختلف تجربو رکندڙ ماڻهن لاءِ ڪارآمد ثابت ٿين. مون کي اميد آهي ته توهان لطف اندوز ٿيندو. وڃ!
تنهن ڪري، شايد توهان اڳ ۾ ئي مليو آهي هڪ سادي ۽ سستو طريقو ويب سائيٽ جي ميزباني ڪرڻ لاء. ٿي سگهي ٿو ته مفت ۾، جيئن هن ۾ بيان ڪيو ويو آهي
پر اوچتو توهان اڃا تائين بور ٿي ويا آهيو ۽ ٽيڪنالاجي جي بهادر نئين دنيا کي ڇڪڻ چاهيو ٿا؟ اچو ته چئو ته توهان خودڪار لڳائڻ جي باري ۾ سوچيو ٿا ۽ توهان جي سائيٽ کي ممڪن طور تي تيز ڪرڻ چاهيندا؟ هن آرٽيڪل ۾ اسان استعمال ڪنداسين
اسان استعمال ڪريون ٿا Gitlab CI/CD آٽوميشن لاءِ، پر رفتار بابت ڇا؟ اچو ته سائيٽ کي سڌو سنئون Cloudflare استعمال ڪندي
ڇا شروع ڪرڻ جي ضرورت آهي:
-
Gitlab (توهان جي پنهنجي يا
گدلاڻ ) -
کاتي Cloudflare تي -
انسٽال ٿيل
nodejs/npm
حصو 1: نصب ڪرڻ Hugo
جيڪڏهن توهان اڳ ۾ ئي Hugo نصب ڪيو آهي، يا جيڪڏهن توهان هڪ مختلف جامد سائيٽ جنريٽر کي ترجيح ڏيو ٿا (يا هڪ به استعمال نه ڪريو)، ته پوء توهان هن حصو کي ڇڏي سگهو ٿا.
-
ڊائون لوڊ ڪريو Hugo تان
https://github.com/gohugoio/hugo/releases -
اسان انهن مان هڪ جي مطابق هوگو ايگزيڪيوٽو فائل رکون ٿا
PATH طريقا -
نئين سائيٽ ٺاهڻ:
hugo new site blog.example.com
-
موجوده ڊاريڪٽري کي تبديل ڪريو نئين ٺاھيل ھڪڙي ڏانھن:
cd blog.example.com
-
هڪ ڊزائين موضوع چونڊيو (
https://github.com/budparr/gohugo-theme-ananke/releases يا جيڪو به) -
اچو ته پھريون پوسٽ ٺاھيون:
hugo new posts/my-amazing-post.md
-
ٺاهيل فائل ۾ مواد شامل ڪريو: content/post/my-amazing-post.md.
جڏهن سڀ ڪجهه ٿي چڪو آهي، ڊرافٽ جي قيمت کي تبديل ڪريو ڪوڙي -
جامد فائلون ٺاهيندي:
hugo -D
ھاڻي اسان جي جامد سائيٽ ڊاريڪٽري اندر واقع آھي ./عوامي ۽ توهان جي پهرين دستي ترتيب ڏيڻ لاءِ تيار آهي.
حصو 2: Cloudflare کي ترتيب ڏيڻ
هاڻي اچو ته Cloudflare جي شروعاتي سيٽ اپ کي ڏسو. اچو ته فرض ڪريو ته اسان وٽ اڳ ۾ ئي سائيٽ لاء ڊومين آهي. اچو ته هڪ مثال طور وٺون blog.example.com.
قدم 1: هڪ DNS داخلا ٺاهيو
پهرين، اسان جي ڊومين کي چونڊيو، ۽ پوء مينيو شيون DNS. اسان هڪ بلاگ ٺاهيندا آهيون A-Record ۽ ان لاءِ ڪجهه جعلي IP ظاهر ڪندا آهيون (هي سرڪاري آهي
قدم 2: Cloudflare ٽوڪن
-
منهنجو پروفائل -> API ٽوڪن tab-> ٽوڪن ٺاهيو -> ڪسٽم ٽوڪن ٺاهيو
هتي توهان کي ٽوڪن کي اڪائونٽن ۽ زونن تائين محدود ڪرڻو پوندو، پر تصوير ۾ ڏنل اجازتن لاءِ ايڊٽ آپشن کي ڇڏي ڏيو.
مستقبل لاءِ ٽوڪن محفوظ ڪريو، اسان کي ان جي ٽئين حصي ۾ ضرورت پوندي.
قدم 3: اڪائونٽ ۽ زونڊ حاصل ڪريو
ڊومين → خلاصو → [ساڄي سائڊبار]
اهي منهنجا آهن، مهرباني ڪري انهن کي استعمال نه ڪريو :)
انھن کي ٽوڪن جي اڳيان محفوظ ڪريو، اسان کي انھن جي ٽئين حصي ۾ پڻ ضرورت پوندي.
قدم 4: ڪارڪنن کي چالو ڪريو
ڊومين → ڪارڪنن → مزدورن جو انتظام ڪريو
اسان چونڊون ٿا هڪ منفرد نالو ۽ ٽيرف ورڪرز → لا محدود ($5 في مهيني اڄ). جيڪڏھن توھان چاھيو، توھان بعد ۾ اپ گريڊ ڪري سگھوٿا مفت ورزن ۾.
ڀاڱو 3: پھريون مقرري (دستي طور تي مقرري)
مون اهو معلوم ڪرڻ لاءِ پهريون دستي ترتيب ڏنو ته واقعي اتي ڇا ٿي رهيو هو. جيتوڻيڪ اهو سڀ ڪجهه آسان ٿي سگهي ٿو:
-
wrangler انسٽال ڪريو:
npm i @cloudflare/wrangler -g
-
اچو ته اسان جي بلاگ جي ڊائريڪٽري ڏانهن وڃو:
cd blog.example.com
-
لانچ رينگلر:
wrangler init — site hugo-worker
-
wrangler لاءِ هڪ ترتيب ٺاهيو (جڏهن پڇيو ويو ته ٽوڪن داخل ڪريو):
wrangler config
هاڻي اچو ته نئين ٺاهيل فائل ۾ تبديليون ڪرڻ جي ڪوشش ڪريو wrangler.toml (
-
ظاهر ڪيو اڪائونٽ ۽ زونيڊ
-
تبديلي رستو ڪنهن شيءِ وانگر *blog.example.com/*
-
ظاهر ڪيو ڪوڙي لاء مزدور ڊيو
-
بالٽ کي ./public ۾ تبديل ڪريو (يا جتي توهان جي جامد سائيٽ واقع آهي)
-
جيڪڏهن توهان وٽ هڪ کان وڌيڪ ڊومين آهن رستي ۾، پوء توهان کي ڪم ڪندڙ اسڪرپٽ ۾ رستو درست ڪرڻ گهرجي: Workers-site/index.js (ڏسو فنڪشن ايونٽ سنڀاليو)
عظيم، اهو وقت آهي ٽيم کي استعمال ڪندي سائيٽ کي ترتيب ڏيڻ جو wrangler publish
.
حصو 4: ڊيپلائيمينٽ آٽوميشن
هي گائيڊ Gitlab لاءِ لکيو ويو آهي، پر اهو عام طور تي خودڪار ترتيب جي جوهر ۽ آسانيءَ کي پڪڙي ٿو.
قدم 1: اسان جو منصوبو ٺاهيو ۽ ترتيب ڏيو
-
نئون GitLab پروجيڪٽ ٺاهيو ۽ سائيٽ اپلوڊ ڪريو: ڊاريڪٽري blog.example.com سڀني مواد سان گڏ پروجيڪٽ جي روٽ ڊاريڪٽري ۾ واقع هجڻ گهرجي
-
اسان مقرر ڪيو متغير CFAPITOKEN هتي جوڙ → CI/CD → مختلف
مرحلا 2: هڪ .gitlab-ci.yml فائل ٺاهيو ۽ پهرين ڊيپلائيمينٽ کي هلايو
ھڪڙي فائل ٺاھيو gitlab-ci.yml روٽ ۾ هيٺين مواد سان:
stages:
- build
- deploy
build:
image: monachus/hugo
stage: build
variables:
GIT_SUBMODULE_STRATEGY: recursive
script:
- cd blog.example.com/
- hugo
artifacts:
paths:
- blog.example.com/public
only:
- master # this job will affect only the 'master' branch
tags:
- gitlab-org-docker #
deploy:
image: timbru31/ruby-node:2.3
stage: deploy
script:
- wget https://github.com/cloudflare/wrangler/releases/download/v1.8.4/wrangler-v1.8.4-x86_64-unknown-linux-musl.tar.gz
- tar xvzf wrangler-v1.8.4-x86_64-unknown-linux-musl.tar.gz
- cd blog.example.com/
- ../dist/wrangler publish
artifacts:
paths:
- blog.example.com/public
only:
- master # this job will affect only the 'master' branch
tags:
- gitlab-org-docker #
اسان دستي طور تي پھرين ڊيپلائيشن لانچ ڪيو (CI/CD → پوسٽون → پائپ لائن هلائڻ) يا ماسٽر برانچ کي انجام ڏيڻ سان. وائيلا!
ٿڪل
خير، مان شايد ان کي ٿورڙي سمجهي چڪو آهيان، ۽ سڄو عمل صرف ڏهن منٽن کان وڌيڪ ورتو. پر ھاڻي توھان وٽ آھي ھڪڙو تيز سائيٽ آھي خودڪار ترتيب سان ۽ ڪجھ نوان خيال جيڪي توھان ڪم ڪري سگھوٿا مزدورن سان.
جو ذريعو: www.habr.com