Skip to content

Conversation

@Illyism
Copy link
Contributor

@Illyism Illyism commented Dec 12, 2025

Changes

  • Added global deployments page (/deployments) that displays all deployments across all projects for the current team
  • Added deployments link to sidebar navigation with appropriate icon
  • Implemented comprehensive filtering system:
    • Filter by project (hidden if only one project)
    • Filter by server (hidden if only one server)
    • Filter by application (hidden if only one application)
    • Filter by source (GitHub/GitLab, hidden if only one source)
    • Filter by status (queued, in progress, finished, failed, cancelled)
  • Added pagination with 20 deployments per page
  • Implemented live polling (5-second intervals) to automatically detect new deployments and update active deployments in real-time
  • Made table columns clickable:
    • Deployment ID → links to deployment detail page
    • Status → displays with loading indicator for active deployments
    • Commit hash → links to GitHub/GitLab commit page (opens in new tab)
    • Application name → links to application configuration page
    • Environment badge → links to environment resources page
  • Added expandable deployment logs for active deployments (queued/in_progress) with the same log formatting as the deployment detail page
  • Optimized column layout by removing "Created" column and reordering columns by importance: ID, Status, Commit, Application, Environment
  • Added loading indicators for active deployments and a global "Updating..." indicator when polling is active
  • Fixed PostgreSQL compatibility by using explicit type casting for application_id joins (VARCHAR to INTEGER)

Technical Details

  • Created new Livewire component: App\Livewire\Deployment\Index
  • Added route: GET /deploymentsdeployment.index
  • Uses explicit SQL joins with type casting to handle PostgreSQL's strict type checking
  • Filters are hidden dynamically when only one option is available (improves UX)
  • Query string parameters are preserved for shareable filtered views
  • Efficient querying with eager loading to prevent N+1 queries
  • Reuses existing log decoding logic from deployment show page

Video

example.mp4

Issues

@Illyism Illyism changed the base branch from v4.x to next December 12, 2025 08:22
- Introduced a new Livewire component for managing and displaying deployments across all projects.
- Implemented filtering options for projects, servers, sources, and statuses.
- Added pagination and real-time updates for deployment logs.
- Updated the navigation bar to include a link to the new deployments page.
- Defined routes for accessing the global deployments page.
- Rearranged the table header to display 'Application' and 'Environment' in a more logical order.
- Made the 'Application' and 'Environment' sections clickable, linking to their respective configuration and resource pages.
- Removed unnecessary status time display and streamlined the deployment information presentation.
- Enhanced the overall structure for better readability and user experience.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Enhancement]: new deployment page

1 participant