# 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:` - Archives `dist/docker-compose.coolify.yml` This validates the repo; **Coolify deploy is separate**.