Add how-to-use.md
هذا الالتزام موجود في:
103
how-to-use.md
Normal file
103
how-to-use.md
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
|
||||||
|
بسم الله الرحمن الرحيم
|
||||||
|
|
||||||
|
إليك دليل استخدام سجل بايثون في منصة "غيمة" (Ghaymah) مُنسّق بشكل احترافي:
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 📦 دليل النشر على سجل حزم غيمة (Ghaymah Python Registry)
|
||||||
|
|
||||||
|
مرحبًا بكم في دليل استخدام سجل بايثون الخاص بمنصة **غيمة**. يوفر هذا السجل بيئة مستضافة محليًا لتخزين وإدارة حزم بايثون الخاصة بكم بما يضمن الأمان والسرعة.
|
||||||
|
|
||||||
|
## 📋 المتطلبات الأساسية
|
||||||
|
|
||||||
|
قبل البدء، تأكد من توفر الأدوات التالية في بيئة العمل:
|
||||||
|
|
||||||
|
1. **Python 3.x** مثبت على جهازك.
|
||||||
|
2. حزمة **Twine** (لعملية النشر).
|
||||||
|
|
||||||
|
لتثبيت `twine`، قم بتنفيذ الأمر التالي:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install twine
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🔑 الحصول على بيانات الاعتماد (Credentials)
|
||||||
|
|
||||||
|
للنشر في سجل غيمة، تحتاج إلى اسم مستخدم (`username`) وكلمة مرور (`password`) خاصين بحسابك.
|
||||||
|
|
||||||
|
> **ملاحظة هامة:** للحصول على بيانات الدخول (`myuser` و `mypassword`)، يرجى **التواصل معنا مباشرة** لإنشاء حسابك وتزويدك ببيانات الاعتماد الآمنة.
|
||||||
|
|
||||||
|
## 🚀 خطوات النشر باستخدام GitHub Actions
|
||||||
|
|
||||||
|
يمكنكم أتمتة عملية نشر الحزم عند كل إصدار جديد باستخدام خدمة GitHub Actions. فيما يلي مثال كامل لكيفية إعداد ملف العمل (Workflow) لنشر الحزمة على سجل غيمة.
|
||||||
|
|
||||||
|
### إعداد ملف Workflow
|
||||||
|
|
||||||
|
قم بإنشاء ملف داخل مستودعك (Repository) بالمسار التالي: `.github/workflows/publish.yml` وأضف الكود أدناه:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
name: Publish to Ghaymah PyPI Server
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types: [created]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-and-publish:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v4
|
||||||
|
with:
|
||||||
|
python-version: '3.x'
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
python -m pip install --upgrade pip
|
||||||
|
pip install build twine
|
||||||
|
- name: Build package
|
||||||
|
run: python -m build
|
||||||
|
- name: Publish to PyPI Server
|
||||||
|
env:
|
||||||
|
TWINE_REPOSITORY_URL: https://pypi.ghaymah.systems
|
||||||
|
run: |
|
||||||
|
twine upload --repository-url $TWINE_REPOSITORY_URL dist/* -u user -p password --verbose
|
||||||
|
```
|
||||||
|
|
||||||
|
### ⚠️ تنبيه أمني هام
|
||||||
|
|
||||||
|
في المثال السابق تم استخدام اسم المستخدم وكلمة المرور مباشرة (`user`, `password`) للتوضيح. **ينصح بشدة** بعدم كتابة بيانات الاعتماد بشكل صريح في الكود. بدلاً من ذلك، استخدم **GitHub Secrets** لحماية بياناتك:
|
||||||
|
|
||||||
|
1. اذهب إلى إعدادات المستودع (Repository Settings).
|
||||||
|
2. اختر **Secrets and variables** > **Actions**.
|
||||||
|
3. أضف سريين جديدين:
|
||||||
|
* `GHAYMAH_USERNAME`: يحتوي على اسم المستخدم الخاص بك.
|
||||||
|
* `GHAYMAH_PASSWORD`: يحتوي على كلمة المرور الخاصة بك.
|
||||||
|
|
||||||
|
ثم عدّل جزء النشر ليصبح كالتالي:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- name: Publish to PyPI Server
|
||||||
|
env:
|
||||||
|
TWINE_REPOSITORY_URL: https://pypi.ghaymah.systems
|
||||||
|
run: |
|
||||||
|
twine upload --repository-url $TWINE_REPOSITORY_URL dist/* -u ${{ secrets.GHAYMAH_USERNAME }} -p ${{ secrets.GHAYMAH_PASSWORD }} --verbose
|
||||||
|
```
|
||||||
|
|
||||||
|
## 💻 التثبيت من سجل غيمة
|
||||||
|
|
||||||
|
بعد نشر الحزمة بنجاح، يمكن للمستخدمين تثبيتها عبر الأمر `pip` مع تحديد رابط السجل:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install your-package-name --index-url https://pypi.ghaymah.systems/simple/
|
||||||
|
```
|
||||||
|
|
||||||
|
*(استبدل `your-package-name` باسم الحزمة الخاصة بك).*
|
||||||
|
|
||||||
|
## 📞 للتواصل والدعم
|
||||||
|
|
||||||
|
إذا واجهتك أي مشكلة أو كنت بحاجة إلى بيانات الدخول، لا تتردد في التواصل معنا.
|
||||||
|
|
||||||
|
---
|
||||||
|
**منصة غيمة** - حلول سحابية عربية مبتكرة.
|
||||||
المرجع في مشكلة جديدة
حظر مستخدم