Skip to content

DevOpscore

קהילת ה-DevOps של ישראל

Menu
  • עמוד הבית
  • קצת עליי
  • מבוא
  • העשרה
  • Virtualization
  • IT
  • Learn from incidents
  • DevOps tools
    • Docker
    • Git
    • Ansible
    • Vagrant
    • Kubernetes
    • OpenShift
Menu

Deploy static websites with GitLab Pages

Posted on מאי 8, 2021מאי 8, 2021 by DevOpscore

GitLab היא מערכת מבוססת Web לניהול קוד שמספקת בין היתר אפשרות להריץ Pipelines, לכתוב תיעוד ל-repo, לנהל ב-Board משימות ועוד. אחד מהפיצ’רים שהיא מספקת הוא GitLab Pages, שבעזרתו ניתן לבצע deploy לאתרים סטטיים בעזרת pipeline פשוט. זה חוסך התעסקות מיותרת כשרוצים להקים אתר עבור תיעוד או כל צורך אחר. נצטרך ליצור פרויקט שלנו, נצטרך לבחור ב (Static Site Generator(SSG כגון Gatsby, Jekyll, Hugo וכו’ שבעזרתו גיטלאב יוכל ליצור את האתר. חשוב להדגיש שעם כל SSG נעבוד בצורה קצת שונה והכול מתועד באינטרנט.

GitLab Pages יודע לקחת מה-Pipeline את ה (Artifacts(Jobs files/directories ומעלה אותם לאתר סטטי. יהיה לנו תיקייה ובה נשים את הקבצים הרלוונטיים שיעלו לאתר. כדי להגדיר Pipeline ב-GitLab נרשום קובץ yml ונקרא לו gitlab-ci.yml.

כשניצור את הפרויקט ב-GitLab נלחץ על Create from template ולאחר מכן נבחר פרויקט Pages כלשהו. אני אדגים עם Jykell.

אחרי שיצרנו את הפרויקט עם ה-template של Jykell, נסתכל על קובץ ה-ci שלנו שמגדיר את ה-Pipeline. זה התוכן שלו:

GitLab ci

קורים כאן מספר דברים:

  • משתמשים ב-docker image של ruby.
  • מתקינים bundler שבעזרתו אפשר לנהל חבילות ruby.
  • מוגדר job שמג’נרט אתר סטטי ושומר את זה בתיקייה test, לאחר מכן התיקייה הזאת נשמרת כ-artifacts. ה-job הזה רץ על כל branch שהוא לא master (כדי לבדוק אם האתר עובד לפני שעושים לו deploy).
    • מוגדר Job שעושה את אותה פעולה אבל רק עבור master.

איך נוסיף תוכן לאתר?

בפרויקט נוצרה לנו תיקייה בשם posts_. בתוכה נרשום קבצים בפורמט Markdown (מוזמנים לקרוא עליו באינטרנט). נוכל לעשות preview על קבצי markdown שנכתוב כדי לבדוק שהם מתורגמים כפי שרצינו. בתוך התיקייה יהיה לנו קובץ לדוגמא, רצוי להיעזר בו כדי להבין איך רושמים Markdown. נכתוב קבצים לפי הפורמט הבא:

YYYY-MM-DD-name-of-post.markdown

אחרי שיצרנו שם את הקבצים שרצינו, נראה שה-pipeline שלהם עבר. לאחר מכן, נעביר את השינויים ל-master וברגע שה-Pipeline יסתיים האתר יתעדכן אוטומטית.

ב Settings -> Pages נוכל לקנפג את הכתובת של האתר שלנו. לאחר שהאתר יעלה הוא יכיל רשימה של פוסטים. דוגמא לתצוגה של פוסט:

Jekyll site

יש עוד מגוון דברים שאפשר לערוך באתר כמו ה-css, header, footer ועוד.

מכירים את התיעוד של Python? הוא נעשה בעזרת הספרייה sphinx ואפשר להשתמש בה גם עם GitLab Pages וכך להקים אתרי תיעוד שהמבנה שלהם דומה לתיעוד של Python. יש לזה הרבה מדריכים באינטרנט אז אני מרשה לעצמי לדלג על זה. זה נראה כך:

python docs

יש עוד פיצ’רים חשובים ב-GitLab Pages כגון:

  • מנגנון הרשאות לאתר (אפשר לבחור קבוצות/משתמשים מ-GitLab שהם היחידים שיהיו מורשים לראות את האתר)
  • דומיין לאתר
  • https

עוד דברים מגניבים שאפשר לעשות עם GitLab Pages זה להראות reports של test frameworks כגון Cypress על אתר סטטי.

לסיכום, ראינו והבנו מה היתרונות של GitLab Pages, איך אפשר להקים אתר כזה ואני מזמין אתכם לנסות בעצמכם! (כאן התיעוד של GitLab בנושא).

!Join us on telegram

כתיבת תגובה לבטל

האימייל לא יוצג באתר. שדות החובה מסומנים *

Comment moderation is enabled. Your comment may take some time to appear.

פוסטים אחרונים

  • Deploy static websites with GitLab Pages
  • The DevOps Role – Part 2
  • The DevOps Role – Part 1
  • How to run an application on Openshift
  • ?What is Agile

קטגוריות

  • DevOps tools
    • Ansible
    • Docker
    • git
    • Kubernetes
    • OpenShift
    • Vagrant
  • IT
  • Learn from incidents
  • Virtualization
  • העשרה
  • מבוא
English Hebrew
© 2025 DevOpscore | Powered by Minimalist Blog WordPress Theme