repositorypackage
0.0.0-20250125144251-d07f231796e7
Repository: https://github.com/gizzahub/gzh-manager-go.git
Documentation: pkg.go.dev
# README
Gizzahub Manager
Comprehensive CLI Tool
Table of Contents
Usage
기능
Clone repositories by GitHub account (user, org) or GitLab group.
- bulk-clone
- git
- gitea
- github
- gitlab
- gogs
- gen-config
CLI
$> bulk-clone -h
golang-cli cli application by managing bulk-clone
Usage:
gzh [flags]
gzh [command]
Available Commands:
completion Generate the autocompletion script for the specified shell
bulk-clone Clone repositories in bulk
help Help about any command
version bulk-clone version
Flags:
-h, --help help for bulk-clone
Use "gzh-manager [command] --help" for more information about a command.
First, create a configuration file in the desired path. Refer to bulk-clone.yaml
$> gzh bulk-clone -t $HOME/mywork
This won't work:
$> gzh bulk-clone -t ./mywork
$> gzh bulk-clone -t $HOME/mywork
$> gzh bulk-clone -t ~/mywork
Bulk Clone config
# bulk-clone.yaml
github:
ScriptonBasestar:
auth: token
proto: https
targetPath: $HOME/mywork/ScriptonBasestar
default:
strategy: include
branch: develop
include:
proxynd:
branch: develop
devops-minim-engine:
branch: dev
exclude:
- sb-wp-*
override:
include:
nginxinc:
targetPath: $HOME/mywork/nginxinc
gzh bulk-clone -o nginxinc
gzh bulk-clone -o nginxinc -t $HOME/mywork/nginxinc
gzh bulk-clone -o nginxinc -t $HOME/mywork/nginxinc --auth token
Trigger
와이파이 변경.. 등
Features
- goreleaser with
deb.
and.rpm
packer and container (docker.hub
andghcr.io
) releasing includingmanpages
andshell completions
and grouped Changelog generation. - golangci-lint for linting and formatting
- Github Actions Stages (Lint, Test (
windows
,linux
,mac-os
), Build, Release) - Gitlab CI Configuration (Lint, Test, Build, Release)
- cobra example setup including tests
- Makefile - with various useful targets and documentation (see Makefile Targets)
- Github Pages using jekyll-theme-minimal (checkout https://Gizzahub.github.io/gzh-manager-go/)
- Useful
README.md
badges - pre-commit-hooks for formatting and validating code before committing
Project Layout
- assets/ => docs, images, etc
- cmd/ => command-line configurations (flags, subcommands)
- pkg/ => packages that are okay to import for other projects
- internal/ => packages that are only for project internal purposes
tools/
=> for automatically shipping all required dependencies when runninggo get
(ormake bootstrap
) such asgolang-ci-lint
(see: https://github.com/golang/go/wiki/Modules#how-can-i-track-tool-dependencies-for-a-module)scripts/
=> build scripts
Makefile Targets
$> make
bootstrap install build deps
build build golang binary
clean clean up environment
cover display test coverage
docker-build dockerize golang application
fmt format go files
help list makefile targets
install install golang binary
lint lint go files
pre-commit run pre-commit hooks
run run the app
test display test coverage