π
Development Workflow
The day-to-day cycle: finding issues, branching, testing, and submitting pull requests.
Now that you have everything set up, here’s the typical development workflow. Commands with $ are on your host, commands with # are inside the container.
The Contribution Cycle
1. Find an issue to work on
Browse the GeoServer issue tracker:
- GitHub Issues: https://github.com/geoserver/geoserver/issues
- Look for labels: “good first issue”, “beginner-friendly”, “documentation”
2. Create a feature branch
Inside the container:
# cd /workspace/geoserver
# git checkout main
# git pull upstream main
# git checkout -b fix/issue-1234-description
3. Make your changes
Edit code using your IDE or SSH. Test locally by:
- Building:
mvn install -T 2C(inside container) - Running:
start-geoserver.sh(inside container) - Testing in browser: http://localhost:8080/geoserver
4. Write tests
GeoServer requires tests for most contributions:
# cd /workspace/geoserver/src
# mvn test -pl main
5. Commit and push
# git add .
# git commit -m "Fix issue #1234: Description of fix"
# git push origin fix/issue-1234-description
6. Create Pull Request
- Navigate to your fork on GitHub
- Click “Compare & pull request”
- Fill in the PR description:
- What issue does this fix?
- What changes did you make?
- How did you test it?
- Submit to the upstream repository
7. Respond to feedback
Maintainers will review your PR and may request changes. Make updates:
# git add .
# git commit -m "Address review feedback"
# git push origin fix/issue-1234-description
The PR updates automatically when you push to your branch.