2.6 KiB
CI/CD
Overview
The goal of SilverLinux is to become the central deployment platform for Silver Solutions applications.
Source code is managed through Gitea and future deployments should be automated through CI/CD pipelines.
Current Situation
Application deployments are currently performed manually.
Typical process:
- Developer commits code.
- Developer publishes application.
- Files are deployed manually.
- IIS application is restarted if necessary.
Status:
Manual
Future Goal
Automate deployments from Gitea repositories to target servers.
Examples:
- Windows IIS servers
- Application servers
- Test environments
- Future Linux deployments
Planned Architecture
Developer
↓
Git Commit
↓
Gitea
↓
Gitea Actions
↓
Build
↓
Test
↓
Deploy
↓
Target Server
Deployment Targets
Windows IIS
Purpose:
Deploy:
- ASP.NET Core
- Blazor Server
- Blazor Web App
Method:
Publish
→ Copy Files
→ Restart IIS Site
Status:
Planned
Linux Containers
Purpose:
Future Docker deployments.
Method:
Build Docker Image
→ Push Image
→ Deploy Stack
Status:
Future
Planned Tooling
Gitea Actions
Purpose:
- Build automation
- Testing
- Deployment automation
Status:
Planned
Self-Hosted Runner
Purpose:
Execute build pipelines.
Potential Location:
SilverLinux
Status:
Planned
Pipeline Stages
Build
Examples:
- Restore NuGet packages
- Build solution
- Publish application
Test
Examples:
- Unit tests
- Integration tests
- Build validation
Deploy
Examples:
- IIS deployment
- Docker deployment
- Environment updates
Notifications
Future CI/CD notifications should use:
noreply@silveressence.net
Examples:
- Build succeeded
- Build failed
- Deployment completed
- Deployment failed
Security
Deployment credentials should never be stored in repositories.
Store credentials in:
/ srv/secrets/company.env
or platform-specific secret stores.
Initial Target
First automated deployment target:
Gitea
→
Windows Server IIS
→
Blazor Applications
This provides the highest immediate value.
Future Enhancements
- Automatic testing
- Automatic deployment
- Release pipelines
- Docker image registry
- BaGet integration
- Multi-environment deployments
Related Services
- Gitea
- Portainer
- Nginx Proxy Manager
Related Documentation
- gitea/README.md
- docs/server.md
- docs/security.md