- Use git fetch + checkout master + reset --hard instead of git pull
to handle detached HEAD state on server
- Add GOPROXY=https://goproxy.cn,direct to Dockerfile so go mod
download uses Chinese mirror instead of unreachable proxy.golang.org
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
JianMu treats ssh_cmd as a JavaScript expression and cannot handle
newlines. Rewrite the entire command as a single-line string with
semicolon chaining, matching the original project's format.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Replace git_clone + scp_resource with single ssh_cmd that does
git pull for incremental updates. Keep Docker build and deploy
approach. First run clones the repo, subsequent runs only
download changed files before rebuilding the Docker image.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Replace scp_resource full-copy approach with single ssh_cmd that does
git pull for incremental sync. First run clones the repo, subsequent
runs only download changed files. Remove redundant publish pipeline.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Docker Hub is inaccessible from the Alibaba Cloud server.
Switch to: SCP code -> go build -> run binary directly.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Add Dockerfile and .dockerignore for containerized deployment
- Add GitLink DevOps pipelines (.devops/) for auto-build and manual publish
- Add GitHub Actions CI workflow with Go test and vet
- Add golangci-lint configuration
- Update Makefile with lint, test-cover, ci, vet targets
- Add shared test utilities (shortcuts/common/testutil.go)
- Add shortcut development template (shortcuts/_template/)
- Add developer guide (doc/dev-guide.md)
- Add milestone management shortcut (milestone +list/create/view/close/delete)
- Add label management shortcut (label +list/create/delete)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>