Fix .woodpecker.yaml: push to Harbor instead of Forgejo registry #3

Closed
opened 2026-03-17 00:18:46 +00:00 by forgejo_admin · 0 comments
Contributor

Lineage

plan-mcd-tracker → Phase 7, Step 9 (deploy pipeline fix)

Repo

forgejo_admin/mcd-tracker-app

User Story

As a developer pushing to main
I want the CI pipeline to build and push the Docker image to Harbor
So that ArgoCD can detect the new image and deploy it automatically

Context

PR #2 configured .woodpecker.yaml to push to Forgejo's container registry, but ArgoCD image updater watches Harbor. Images must go to harbor.tail5b443a.ts.net/mcd-tracker/app. Harbor secrets (harbor_username, harbor_password) already created in Woodpecker. Need to switch from plugin-docker-buildx to plugin-kaniko:2.3.0 (matching mcd-tracker-api pattern) and use Woodpecker v2 config format.

File Targets

  • .woodpecker.yaml — rewrite to use kaniko + Harbor

Acceptance Criteria

  • Pipeline pushes to harbor.tail5b443a.ts.net/mcd-tracker/app
  • Uses plugin-kaniko:2.3.0
  • Uses harbor_username / harbor_password secrets
  • Test step runs npm ci && npm test && npm run build
  • Build-and-push only runs on push to main

Test Expectations

  • Pipeline triggers on push to main
  • Image appears in Harbor mcd-tracker/app project
  • Run: push to main, check Woodpecker + Harbor

Constraints

  • Match mcd-tracker-api .woodpecker.yaml pattern exactly
  • Use Woodpecker v2 config format (top-level when: + named steps)

Checklist

  • Pipeline config updated
  • First successful build in Harbor
  • project-mcd-tracker
### Lineage `plan-mcd-tracker` → Phase 7, Step 9 (deploy pipeline fix) ### Repo `forgejo_admin/mcd-tracker-app` ### User Story As a developer pushing to main I want the CI pipeline to build and push the Docker image to Harbor So that ArgoCD can detect the new image and deploy it automatically ### Context PR #2 configured `.woodpecker.yaml` to push to Forgejo's container registry, but ArgoCD image updater watches Harbor. Images must go to `harbor.tail5b443a.ts.net/mcd-tracker/app`. Harbor secrets (`harbor_username`, `harbor_password`) already created in Woodpecker. Need to switch from `plugin-docker-buildx` to `plugin-kaniko:2.3.0` (matching mcd-tracker-api pattern) and use Woodpecker v2 config format. ### File Targets - `.woodpecker.yaml` — rewrite to use kaniko + Harbor ### Acceptance Criteria - [ ] Pipeline pushes to `harbor.tail5b443a.ts.net/mcd-tracker/app` - [ ] Uses `plugin-kaniko:2.3.0` - [ ] Uses `harbor_username` / `harbor_password` secrets - [ ] Test step runs `npm ci && npm test && npm run build` - [ ] Build-and-push only runs on push to main ### Test Expectations - [ ] Pipeline triggers on push to main - [ ] Image appears in Harbor `mcd-tracker/app` project - Run: push to main, check Woodpecker + Harbor ### Constraints - Match mcd-tracker-api `.woodpecker.yaml` pattern exactly - Use Woodpecker v2 config format (top-level `when:` + named steps) ### Checklist - [ ] Pipeline config updated - [ ] First successful build in Harbor ### Related - `project-mcd-tracker`
Commenting is not possible because the repository is archived.
No labels
No milestone
No project
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ldraney/mcd-tracker-app#3
No description provided.