Updating CICD Workflow

هذا الالتزام موجود في:
ahmedgamalyousef
2025-10-07 23:21:38 +03:00
الأصل ef014b6297
التزام e79c20c733

عرض الملف

@@ -22,15 +22,85 @@ jobs:
tags: ahmedgamalyousef/weatherapp:latest
deploy:
needs: build_and_push_image
steps:
- name: checkout code
uses: actions/checkout@v5.0.0
- name: install ghaymah cli
run: curl -sSl https://cli.ghaymah.systems/install.sh | bash
needs: build_and_push_image
runs-on: ubuntu-latest
env:
PROJECT_NAME: ${{ github.event.repository.name }}-project
APP_NAME: ${{ github.event.repository.name }}
DOCKER_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
IMAGE_NAME: ${{ github.event.repository.name }}
IMAGE_TAG: latest
- name: login to ghaymah
run: $HOME/ghaymah/bin/gy auth login --email "${{secrets.GHAYMAH_EMAIL}}" --password "${{secrets.GHAYMAH_PASSWORD}}"
steps:
- name: Checkout code
uses: actions/checkout@v5.0.0
- name: deploy
run: $HOME/ghaymah/bin/gy resource app launch
- name: Install Ghaymah CLI
run: |
echo "📥 Installing Ghaymah CLI..."
curl -sSL https://cli.ghaymah.systems/install.sh | bash
echo "✅ Ghaymah CLI installed"
- name: Login to Ghaymah
run: |
echo "🔐 Authenticating with Ghaymah..."
$HOME/ghaymah/bin/gy auth login --email "${{ secrets.GHAYMAH_EMAIL }}" --password "${{ secrets.GHAYMAH_PASSWORD }}"
echo "✅ Successfully logged in to Ghaymah"
- name: Setup Ghaymah deployment
run: |
echo "☁️ Setting up Ghaymah deployment..."
# Create project
echo "🔧 Creating project: $PROJECT_NAME"
PROJECT_ID=$($HOME/ghaymah/bin/gy resource project create --set .name="$PROJECT_NAME" | awk '/ID:/ {print $NF}')
if [ -z "$PROJECT_ID" ]; then
echo "❌ Failed to get project ID"
exit 1
fi
echo "✅ Project ID: ${PROJECT_ID}"
# Create .ghaymah.json configuration
cat > .ghaymah.json << EOF
{
"container": {
"image": "docker.io/${DOCKER_USERNAME}/${IMAGE_NAME}:${IMAGE_TAG}",
"pullSecretName": ""
},
"name": "${APP_NAME}",
"ports": [
{
"expose": true,
"number": 5000
}
],
"projectId": "${PROJECT_ID}",
"publicAccess": {
"baseDomain": "hosted.ghaymah.systems",
"domain": "auto",
"enabled": true
},
"resourceTier": "t1"
}
EOF
echo "✅ Configuration file created:"
echo " - Project: ${PROJECT_NAME} (ID: ${PROJECT_ID})"
echo " - App: ${APP_NAME}"
echo " - Image: ${DOCKER_USERNAME}/${IMAGE_NAME}:${IMAGE_TAG}"
- name: Deploy to Ghaymah
run: |
echo "🚀 Deploying to Ghaymah..."
$HOME/ghaymah/bin/gy resource app launch
echo "✅ Deployment successful!"
- name: Show deployment info
run: |
echo "🎉 Deployment completed!"
echo "📊 Project: $PROJECT_NAME"
echo "📱 App: $APP_NAME"
echo "🌐 URL: https://${APP_NAME}.hosted.ghaymah.systems"
echo "✨ Deployment process completed!"