add APT cache server integration documentation
This commit is contained in:
parent
d1b8fe9425
commit
20947d240e
1 changed files with 122 additions and 0 deletions
122
dev_notes/apt_cache_integration.md
Normal file
122
dev_notes/apt_cache_integration.md
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
# APT Cache Server Integration
|
||||
|
||||
This document describes the integration of your APT cache server (`http://192.168.1.79:3142`) with the Deb-Mock CI/CD workflows.
|
||||
|
||||
## Overview
|
||||
|
||||
The CI/CD workflows now use your APT cache server to speed up package installations and reduce bandwidth usage during builds.
|
||||
|
||||
## Configuration
|
||||
|
||||
### APT Cache Server Setup
|
||||
|
||||
Your APT cache server is configured at:
|
||||
- **URL**: `http://192.168.1.79:3142`
|
||||
- **Type**: apt-cacher-ng (based on the `/acng-report.html` endpoint)
|
||||
- **Status**: Available and accessible
|
||||
|
||||
### CI/CD Integration
|
||||
|
||||
The APT cache is configured in all CI/CD workflows:
|
||||
|
||||
```yaml
|
||||
- name: Install build dependencies
|
||||
run: |
|
||||
# Configure APT to use your cache server
|
||||
echo 'Acquire::http::Proxy "http://192.168.1.79:3142";' | sudo tee /etc/apt/apt.conf.d/99proxy
|
||||
echo 'Acquire::https::Proxy "http://192.168.1.79:3142";' | sudo tee -a /etc/apt/apt.conf.d/99proxy
|
||||
|
||||
sudo apt update
|
||||
sudo apt install -y build-essential devscripts debhelper dh-python python3-all python3-setuptools
|
||||
sudo apt install -y sbuild schroot debootstrap
|
||||
```
|
||||
|
||||
### Workflows Using APT Cache
|
||||
|
||||
1. **build-deb.yml**: Package building workflow
|
||||
2. **test.yml**: Testing workflow
|
||||
3. **build.yml**: Basic build workflow
|
||||
|
||||
## Benefits
|
||||
|
||||
### 1. **Speed Improvements**
|
||||
- Faster package downloads during CI/CD runs
|
||||
- Reduced build times for subsequent runs
|
||||
- Cached packages don't need to be downloaded again
|
||||
|
||||
### 2. **Bandwidth Savings**
|
||||
- Reduces external bandwidth usage
|
||||
- Local caching of frequently used packages
|
||||
- Efficient for multiple builds
|
||||
|
||||
### 3. **Reliability**
|
||||
- Reduces dependency on external package mirrors
|
||||
- Faster recovery from network issues
|
||||
- Consistent package availability
|
||||
|
||||
## Monitoring
|
||||
|
||||
### Cache Server Status
|
||||
|
||||
You can monitor your cache server at:
|
||||
- **Status Page**: http://192.168.1.79:3142/acng-report.html
|
||||
- **Statistics**: Cache hit rates and bandwidth usage
|
||||
- **Configuration**: Server settings and policies
|
||||
|
||||
### CI/CD Logs
|
||||
|
||||
The CI/CD logs will show:
|
||||
- APT cache configuration messages
|
||||
- Package download speeds
|
||||
- Cache hit/miss statistics (if available)
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Common Issues
|
||||
|
||||
1. **Cache Server Unavailable**
|
||||
- CI/CD will fall back to direct downloads
|
||||
- Builds will still succeed but may be slower
|
||||
|
||||
2. **Cache Misses**
|
||||
- New packages will be downloaded and cached
|
||||
- Subsequent builds will benefit from caching
|
||||
|
||||
3. **Configuration Errors**
|
||||
- APT will ignore invalid proxy settings
|
||||
- Builds will continue with direct downloads
|
||||
|
||||
### Debug Commands
|
||||
|
||||
```bash
|
||||
# Test cache server connectivity
|
||||
curl -I http://192.168.1.79:3142/acng-report.html
|
||||
|
||||
# Check APT proxy configuration
|
||||
cat /etc/apt/apt.conf.d/99proxy
|
||||
|
||||
# Test package download through cache
|
||||
sudo apt update
|
||||
```
|
||||
|
||||
## Future Enhancements
|
||||
|
||||
### Potential Improvements
|
||||
|
||||
1. **Cache Statistics Integration**
|
||||
- Display cache hit rates in CI/CD logs
|
||||
- Monitor cache effectiveness
|
||||
|
||||
2. **Fallback Configuration**
|
||||
- Automatic fallback to direct downloads
|
||||
- Health checks for cache server
|
||||
|
||||
3. **Cache Warming**
|
||||
- Pre-download common packages
|
||||
- Optimize cache for Deb-Mock builds
|
||||
|
||||
## References
|
||||
|
||||
- [apt-cacher-ng Documentation](https://www.unix-ag.uni-kl.de/~bloch/acng/)
|
||||
- [APT Proxy Configuration](https://wiki.debian.org/AptProxy)
|
||||
- [Forgejo CI/CD Documentation](https://forgejo.org/docs/latest/user/actions/)
|
||||
Loading…
Add table
Add a link
Reference in a new issue