buildsync-submit v1.0.0
buildSync
buildSync is a CLI tool designed to facilitate the upload of .apk and .ipa files to a server for build synchronization. This tool leverages Node.js and several libraries to ensure a smooth and efficient upload process, complete with progress tracking and error handling.
Features
- Upload Support: Only supports
.apkand.ipafile uploads. - Progress Tracking: Provides a visual progress bar during the upload.
- Error Handling: Detailed error messages to guide the user.
- Environment Configuration: Uses environment variables for configuration.
Installation
To get started, clone this repository and install the necessary dependencies:
git clone https://github.com/Skipperlla/buildSync-cli.git
cd buildSync
npm install or yarn installUsage
Ensure you have the necessary environment variables set in your .env file:
BUILD_SYNC_API_TOKEN=your_BUILD_SYNC_API_TOKEN
BUILD_SYNC_API_URL=http://yourServerAddress:yourPort/uploadCommands
The buildSync CLI tool provides a primary command submit to upload files.
submit
This command uploads a specified .apk or .ipa file to the server.
Options
-p, --path <filePath>: Path to the file to upload. The file must be either a.apkor.ipafile.-o, --orgId <orgId>: Organization ID. This is the unique identifier for your organization.-a, --appId <appId>: Application ID. This is the unique identifier for the application you are uploading the file for.
Example
buildSync submit -p /path/to/your/file.apk -o yourOrgId -a yourAppIdHelp Command
For a detailed list of available commands and options, you can use the --help flag:
buildSync --helpDevelopment
File Structure
index.js: Entry point for the CLI tool.upload.js: Contains theuploadFilefunction that handles the file upload logic.
Dependencies
axios: Promise-based HTTP client for the browser and Node.js.cli-progress: Flexible command line progress bar.form-data: A module to create readable"multipart/form-data"streams.dotenv: Loads environment variables from a.envfile intoprocess.env.chalk: Terminal string styling done right.commander: The complete solution for node.js command-line interfaces.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License.
This README provides a comprehensive overview of your project, detailing its purpose, installation steps, usage instructions, and file structure. It should help users understand how to use your CLI tool effectively.
1 year ago