chage: revorked README
This commit is contained in:
		| @@ -4,8 +4,7 @@ Automated Alpine Linux package builder for Zabbix Agent and Proxy with CI/CD pip | ||||
|  | ||||
| ## Features | ||||
|  | ||||
| - 🔄 **Automatic Version Detection**: Monitors Zabbix releases using official Bitbucket API | ||||
| - 🏗️ **Docker-based Building**: Consistent, reproducible builds in isolated environment | ||||
| - 🔄 **Automatic Version Detection**: Monitors Zabbix releases using Bitbucket API | ||||
| - 🚀 **CI/CD Pipeline**: Full automation from version detection to package deployment | ||||
| - 📦 **Multi-package Support**: Builds agent and proxy packages | ||||
| - 🧪 **Automated Testing**: Tests package installation in Alpine containers | ||||
| @@ -13,34 +12,24 @@ Automated Alpine Linux package builder for Zabbix Agent and Proxy with CI/CD pip | ||||
|  | ||||
| ## Quick Start | ||||
|  | ||||
| ### 1. Repository Setup | ||||
| ### Prerequisites | ||||
|  | ||||
| - Docker installed | ||||
| - Gitea repository with Actions enabled | ||||
|  | ||||
| ### Manual Build | ||||
|  | ||||
| ```bash | ||||
| # Clone this repository | ||||
| git clone https://git.mbuz.uk/mbuz/Zabbix.git | ||||
| # Clone the repository | ||||
| git clone <your-gitea-repo> | ||||
| cd zabbix-apk-builder | ||||
|  | ||||
| # Make build script executable | ||||
| chmod +x build.sh | ||||
| ``` | ||||
|  | ||||
| ### 2. Manual Build | ||||
|  | ||||
| ```bash | ||||
| # Build packages locally | ||||
| chmod +x build.sh | ||||
| ./build.sh | ||||
|  | ||||
| # Packages will be in ./packages/ | ||||
| ls -la packages/ | ||||
| ``` | ||||
|  | ||||
| ### 3. CI/CD Setup | ||||
|  | ||||
| ```bash | ||||
| # Run the setup script | ||||
| ./setup-cicd.sh | ||||
|  | ||||
| # Follow the prompts to configure GitHub secrets | ||||
| # Check built packages | ||||
| ls -la packages/builder/x86_64/ | ||||
| ``` | ||||
|  | ||||
| ## Package Information | ||||
| @@ -51,19 +40,12 @@ ls -la packages/ | ||||
| 2. **zabbix-proxy** - Zabbix Proxy | ||||
| 3. **zabbix** - Meta package | ||||
|  | ||||
| ### Current Version | ||||
|  | ||||
| - **Zabbix Version**: 7.4.2 | ||||
| - **Alpine Base**: latest | ||||
| - **Architecture**: all | ||||
|  | ||||
| ## CI/CD Pipeline | ||||
|  | ||||
| ### Automatic Triggers | ||||
|  | ||||
| - **Daily**: Checks for new Zabbix versions at 6 AM UTC | ||||
| - **Push**: Builds when code changes in main/test branches | ||||
| - **Manual**: Force builds via Gitea Actions | ||||
|  | ||||
| ### Version Detection | ||||
|  | ||||
| @@ -91,48 +73,22 @@ GITEA_SSH_KEY  # SSH private key for Gitea access | ||||
| ### File Structure | ||||
|  | ||||
| ``` | ||||
| . | ||||
| └── zabbix-git | ||||
|     └── zabbix-apk-builder | ||||
|         ├── .gitea/workflows   # Workflows for Gitea actions | ||||
|         ├── .gitignore         # Ignore files  | ||||
|         ├── APKBUILD           # APKBUILD file for Zabbix | ||||
|         ├── Dockerfile         # Dockerfile for building packages | ||||
|         ├── README.md          # Project description | ||||
|         ├── build.sh           # Script for manual builds | ||||
|         ├── packages/          # Directory for built packages | ||||
|         ├── zabbix-agent.*     # Agent configuration files | ||||
|         └── zabbix-proxy.*     # Proxy configuration files | ||||
| ``` | ||||
|  | ||||
| ## Usage | ||||
|  | ||||
| ### Install Packages | ||||
|  | ||||
| ```bash | ||||
| # Add repository | ||||
| echo "http://gitea-repo/mbuz/Zabbix/raw/branch/main/alpine/v3.18/main" >> /etc/apk/repositories | ||||
|  | ||||
| # Update and install | ||||
| apk update | ||||
| apk add zabbix-agent | ||||
|  | ||||
| # Enable and start | ||||
| rc-update add zabbix-agent default | ||||
| rc-service zabbix-agent start | ||||
| ``` | ||||
|  | ||||
| ### Configuration | ||||
|  | ||||
| ```bash | ||||
| # Configure agent | ||||
| vim /etc/zabbix/zabbix_agentd.conf | ||||
|  | ||||
| # Set server IP | ||||
| Server=your.zabbix.server | ||||
|  | ||||
| # Restart service | ||||
| rc-service zabbix-agent restart | ||||
| zabbix-git/ | ||||
| └── zabbix-apk-builder/ | ||||
|     ├── .gitea/ | ||||
|     │   └── workflows/ | ||||
|     │       └── build.yaml         # Main CI/CD pipeline | ||||
|     ├── APKBUILD                   # Alpine package definition | ||||
|     ├── Dockerfile                 # Build environment container | ||||
|     ├── README.md                  # This file | ||||
|     ├── build.sh                   # Local build script | ||||
|     ├── packages/                  # Generated packages (gitignored) | ||||
|     ├── zabbix-agent.confd         # Agent configuration | ||||
|     ├── zabbix-agent.initd         # Agent init script | ||||
|     ├── zabbix-agent.pre-install   # Agent pre-install script | ||||
|     ├── zabbix-proxy.confd         # Proxy configuration   | ||||
|     ├── zabbix-proxy.initd         # Proxy init script | ||||
|     └── zabbix-proxy.pre-install   # Proxy pre-install script | ||||
| ``` | ||||
|  | ||||
| ## Development | ||||
| @@ -154,28 +110,16 @@ docker run --rm -it \ | ||||
|  | ||||
| ### Branch Strategy | ||||
|  | ||||
| - **main**: Production releases, auto-deployed | ||||
| - **test**: Testing and validation, no auto-deploy | ||||
| - **main**: Production releases, merge only | ||||
| - **test**: Testing and validation | ||||
|  | ||||
| ### Making Changes | ||||
|  | ||||
| 1. Create feature branch from `test` | ||||
| 1. Create feature branch from `main` | ||||
| 2. Test changes thoroughly | ||||
| 3. Merge to `test` for CI validation | ||||
| 4. Merge to `main` for production release | ||||
| 3. Validate CI | ||||
| 4. Merge to `main` | ||||
|  | ||||
| ## Troubleshooting | ||||
|  | ||||
| ### Build Issues | ||||
|  | ||||
| ```bash | ||||
| # Check build logs | ||||
| docker logs $(docker ps -l -q) | ||||
|  | ||||
| # Manual build debug | ||||
| docker run -it --rm -v $(pwd):/build alpine:3.18 sh | ||||
| cd /build && ./build.sh | ||||
| ``` | ||||
|  | ||||
| ### Version Detection | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user