Add Jenkins setup doc (multibranch discover branches fix)

This commit is contained in:
epistemophiliac 2026-06-16 18:12:39 -04:00
parent 538a2474dd
commit 08383b64bf
2 changed files with 57 additions and 1 deletions

View file

@ -37,7 +37,7 @@ Jenkins runs the same checks on every build via [`Jenkinsfile`](Jenkinsfile):
- `scripts/ci/validate-docker-compose.sh` — Coolify compose rules + `docker compose config`
- `docker compose config` + pull pinned `frappe/erpnext` image
**Jenkins:** Multibranch Pipeline → `https://git.aexoradao.com/epistemophiliac/erpnext.git` → Script Path `Jenkinsfile`
**Jenkins:** see [docs/JENKINS.md](docs/JENKINS.md) — Multibranch needs **Discover branches** behaviour, or use a simple **Pipeline** job on `main`.
Run locally:

56
docs/JENKINS.md Normal file
View file

@ -0,0 +1,56 @@
# Jenkins setup (Forgejo)
Repo: `https://git.aexoradao.com/epistemophiliac/erpnext.git`
Branch: `main`
Pipeline file: `Jenkinsfile` (repo root)
## Option A — Simple Pipeline (fastest)
If Multibranch shows an empty folder, use this instead.
1. **New Item****Pipeline** → name `erpnext`
2. **Pipeline** → Definition: **Pipeline script from SCM**
3. SCM: **Git**
- Repository URL: `https://git.aexoradao.com/epistemophiliac/erpnext.git`
- Credentials: Forgejo user + access token
- Branch: `*/main`
4. Script Path: `Jenkinsfile`
5. **Save** → **Build Now**
## Option B — Multibranch Pipeline
Indexing succeeds but the folder stays empty when **Discover branches** is missing.
1. **New Item****Multibranch Pipeline** → name `erpnext`
2. **Branch Sources** → **Git**
- URL + credentials (same as above)
3. **Behaviours****Add** → **Discover branches**
- Strategy: **All branches** (or include `main` via wildcard filter)
4. **Build Configuration**
- Mode: **by Jenkinsfile**
- Script Path: `Jenkinsfile`
5. **Save** → **Scan Repository Now**
You should see a `main` branch under the folder. Click it → **Build Now**.
### Optional: Forgejo webhook
Install the **Gitea** plugin in Jenkins, then use **Gitea** as the branch source (Forgejo-compatible) for automatic scans on push.
## Credentials
**Manage Jenkins → Credentials → Add**
- Kind: Username with password
- Username: `epistemophiliac`
- Password: Forgejo personal access token (repo read scope)
## What the pipeline does
- `scripts/ci/ci-readiness.sh`
- `scripts/ci/validate-docker-compose.sh`
- `docker compose config` (Coolify-safe compose)
- `docker pull frappe/erpnext:<version>`
- Archives `dist/docker-compose.coolify.yml`
This validates the repo; **Coolify deploy is separate**.