How to build a CI/CD pipeline
Updated 10/16/2026
CI/CD (continuous integration and delivery) automatically runs your tests and deployment on every code change, so you catch errors early and ship without manual effort.
Typical stages
- Build: install dependencies and compile.
- Test: run the automated tests.
- Deploy: if tests pass, ship to the server.
With Gitea Actions
Gitea includes an Actions system compatible with GitHub's syntax. You create a .gitea/workflows/deploy.yml file:
on: [push]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: composer install --no-dev
- run: php artisan test
- run: ./deploy.sh
You need a "runner" that executes the jobs, on the same server or another. See installing Gitea.
Runner on your own server
A dedicated runner on a VPS gives you full control and fixed costs, unlike the paid minutes of cloud services. With hourly billing you can start a runner only when you need it.
Secrets
Deploy keys and passwords go as secrets in the Gitea interface, never in code, see managing environment variables.
Put this guide into practice on your own VPS
EU cloud servers, billed hourly, ready in minutes, with one-click installs for dozens of apps.
See pricingRelated tutorials
How to send WhatsApp messages from your apps with OpenWA
OpenWA gives you a REST API over WhatsApp, on your own server. Here is how to install it, connect it and send your first message, safely.
Updated 10/16/2026Dev environmentsHow to deploy an app from Git with Openship
From a Git repo to a live app, with a database, domain and SSL, on your own server, with no config files.
Updated 10/16/2026Dev environmentsHow to install PHP (multiple versions) and Composer
Install the PHP version your project needs, along with Composer for package management.
Updated 10/16/2026