מערכת אוטומטית מבוססת Jenkins + Python ליצירת דוחות, ניהול לוגים, והפקת דוח HTML מרכזי עם אפשרות לשליחה במייל.
הפרויקט מריץ סקריפט Python שמקבל קובץ Excel יומי, מייצר ממנו דוחות PDF, בונה דוח HTML מסכם, שומר לוג מסודר לכל ריצה, ומפרסם את התוצאות דרך Jenkins.
- הרצת Pipeline ב־Jenkins (Windows / Linux)
- יצירת קובץ לוג ייעודי לכל Build
- עיבוד קובץ Excel יומי
- יצירת דוחות PDF
- בניית דוח HTML מרכזי
- פרסום הדוח דרך Jenkins (Publish HTML)
- ארכוב דוחות ולוגים כ־Artifacts
- שליחת מייל אוטומטית עם קישור לדוח
- תמיכה בפרמטרים (תאריך, מערכת הפעלה, מייל יעד)
devops-report-pipeline/
│
├── main.py # סקריפט פייתון ראשי
├── report.html # דוח HTML שנוצר אוטומטית
├── requirements.txt # תלויות פייתון
├── Jenkinsfile # קובץ ה־Pipeline
│
├── logs/
│ └── run_XX.log # לוג לכל ריצה
│
├── pdf_reports/
│ └── <date>/
│ └── *.pdf # דוחות שנוצרו
│
└── README.md
-
Jenkins 2.x
-
פלאגינים:
- Pipeline
- Publish HTML Reports
- Email Extension / Mailer
- Role-based Authorization
- Python 3.9+
- התקנת תלויות:
pip install -r requirements.txt
בעת הרצה ידנית:
- RUN_ON – מערכת הפעלה:
windows/linux - RUN_DATE – תאריך קובץ האקסל (לדוגמה:
09.01.2026) - REPORT_EMAIL – מייל לשליחת הדוח (אופציונלי)
- ניקוי סביבת העבודה
- יצירת קובץ לוג
- בדיקת סביבת פייתון
- הרצת main.py
- יצירת דוחות PDF
- יצירת דוח HTML
- סגירת הלוג
- רענון HTML עם הלוג הסופי
- ארכוב תוצרים
- פרסום הדוח ב־Jenkins
- שליחת מייל (אם הוגדר)
לאחר ריצה:
Job → Last Build → HTML Report
- נשלחים דרך SMTP שמוגדר ב־Jenkins
- כוללים סטטוס, מספר Build וקישור לדוח
- לכל ריצה:
logs/run_<BUILD_NUMBER>.log
- הלוג נשמר כ־artifact ומוצג בדוח ה־HTML
- admin – ניהול מלא
- user – צפייה והרצה בלבד
- Jenkins Pipeline (Groovy)
- Python
- HTML
- SMTP
- GitHub
- Ngrok