الملفات
Mohamed Moustafa c653222887 first commit
2026-07-27 23:27:12 +03:00
..
2026-07-27 23:27:12 +03:00
2026-07-27 23:27:12 +03:00
2026-07-27 23:27:12 +03:00

Staging vs Production

Staging Environment

The staging environment is a pre-production environment used for testing and validation before releasing changes to real users.

Purpose

  • Test new features
  • Validate bug fixes
  • Verify deployment process
  • Run integration and user acceptance testing (UAT)

Characteristics

  • Mirrors the production environment as closely as possible
  • Used by developers and QA engineers
  • May contain test or sample data
  • Failures have no impact on end users

Production Environment

The production environment is the live environment that serves real users.

Purpose

  • Deliver the application to customers
  • Provide stable and reliable service

Characteristics

  • Used by real users
  • Contains production data
  • Requires high availability and monitoring
  • Deployments should be carefully reviewed and approved

Comparison

Feature Staging Production
Users Developers / QA End Users
Data Test Data Production Data
Purpose Testing & Validation Live Service
Stability Medium High
Manual Approval Optional Recommended

Connecting to Ghaymah CLI

Prerequisites

  • Ghaymah Cloud account
  • GitHub repository
  • Dockerfile
  • .ghaymah.json configuration file

Step 1: Install Ghaymah CLI

curl -sSL https://cli.ghaymah.systems/install.sh | bash

Step 2: Authenticate

$HOME/ghaymah/bin/gy auth login \
  --email "YOUR_EMAIL" \
  --password "YOUR_PASSWORD"

For GitHub Actions, store these credentials as repository secrets:

  • GHAYMAH_EMAIL
  • GHAYMAH_PW

Step 3: Create .ghaymah.json

Example:

{
  "id": "<application-id>",
  "projectId": "<project-id>",
  "dockerFileName": "Dockerfile",
  "resourceTier": "t1"
}

Step 4: Deploy the Application

$HOME/ghaymah/bin/gy resource app launch

This command automatically:

  1. Reads the .ghaymah.json configuration.
  2. Builds the Docker image from the project's Dockerfile.
  3. Pushes the image to Ghaymah Cloud's internal Container Registry.
  4. Deploys the application.

Step 5: Monitor Deployment

Deployment status can be checked using:

  • GitHub Actions logs
  • Ghaymah Dashboard
  • Ghaymah CLI logs

Example:

gy app logs

Deployment Workflow

Developer
    │
    ▼
GitHub Actions
    │
    ▼
Install Ghaymah CLI
    │
    ▼
Authenticate
    │
    ▼
Build Docker Image
    │
    ▼
Push to Ghaymah Container Registry
    │
    ▼
Deploy Application
    │
    ▼
Application Running