feat: add k8s deployment pipeline and code quality improvements
- Add deploy step to Woodpecker CI release pipeline - Create ParsingHelpers utility to deduplicate ParseIntArray/ParseDate - Add ConfigureAwait(false) to all async calls (library best practice) - Fix resource disposal in UploadDocumentInternalAsync - Configure HttpClient default 30s timeout - Remove unused GetAllPagesAsync method 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -118,3 +118,22 @@ steps:
|
||||
https://api.github.com/repos/barryw/PaperlessMCP/releases \
|
||||
-d "{\"tag_name\":\"$$TAG\",\"name\":\"Release $$VERSION\",\"body\":\"Release $$VERSION\",\"draft\":false,\"prerelease\":false}"
|
||||
depends_on: [git-tag]
|
||||
|
||||
# Deploy to Kubernetes (uses in-cluster service account)
|
||||
- name: deploy
|
||||
image: bitnami/kubectl:latest
|
||||
commands:
|
||||
- |
|
||||
VERSION=$$(cat .version)
|
||||
echo "Deploying version $$VERSION to Kubernetes"
|
||||
|
||||
# Update deployment image to specific version tag
|
||||
kubectl set image deployment/paperless-mcp \
|
||||
paperless-mcp=ghcr.io/barryw/paperlessmcp:v$$VERSION \
|
||||
-n default
|
||||
|
||||
# Wait for rollout to complete
|
||||
kubectl rollout status deployment/paperless-mcp -n default --timeout=120s
|
||||
|
||||
echo "Deployment complete!"
|
||||
depends_on: [docker, release]
|
||||
|
||||
Reference in New Issue
Block a user