๐ฆ Dockyard CLI
Dockyard CLI is a command-line tool built in Go to simplify and automate project build, deployment, and task execution. It helps you manage configurations across hundreds of repositories, saving you significant time and effort.
๐ Project Homepage: immarktube.github.io/dockyard-cli
๐ Features
- Modular Command Structure: Organized via the
cmd/directory for easy extension and maintenance. - Configuration-Driven: Supports
.dockyard.yamlfor defining custom build and deployment pipelines. - Automated Task Execution: Built-in task runner for handling common project workflows.
- CI/CD Friendly: Easily integrates into your existing automation pipelines.
๐ ๏ธ Installation & Usage
Installation
Download the latest release from below link and place the executable alongside your local repositories:
https://github.com/immarktube/dockyard-cli/releases
/your-workspace/
โโโ dockyard-cli # Dockyard CLI ๅฏๆง่กๆไปถ๏ผ้ๆพๅจๆญคๅค๏ผ
โโโ kubernetesDemo # ไปๅบ1
โโโ careeranalyse-web # ไปๅบ2
โโโ readList # ไปๅบ3
Usage
- Create a
.dockyard.yamlfile at your project root to define tasks. - Run your tasks using:
dockyard --help
For detailed usage instructions, visit: Dockyard CLI Documentation
๐ Project Structure
dockyard-cli/
โโโ cmd/ # Command definitions
โโโ command/ # Command implementations
โโโ config/ # Configuration parsing
โโโ docs/ # Documentation
โโโ executor/ # Task runner
โโโ utils/ # Utility functions
โโโ .dockyard.yaml # Example config file
โโโ .env # Example config file
โโโ main.go # Entry point
โโโ build.sh # Build script
๐ Example .dockyard.yaml
global:
owner: immarktube
authToken: ${GITHUB_TOKEN}
apiBaseURL: https://api.github.com
gitBaseURL: https://github.com
concurrency: 5
noHook: true
repositories:
- path: kubernetesDemo
baseRef: fb6512a5b8a5b763e0b2e8634bad4cd713239c48
- path: careeranalyse-web
baseRef: 1.0.0
- path: readList
baseRef: master
hook:
pre: echo "Running pre hook"
post: echo "Running post hook"
๐ Example .env
GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Note: you can also define the token in .dockyard.yaml, but this will appear your sensitive data in config file directly.
๐ค Contributing
We welcome contributions, issue reports, and suggestions!
- Fork this repository.
- Create a new feature branch.
- Submit a Pull Request.
๐ License
This project is licensed under the MIT License. See the LICENSE file for details.