Security News
Bun 1.2 Released with 90% Node.js Compatibility and Built-in S3 Object Support
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
buddyworks-cli
Advanced tools
The Buddy CLI is used to manage Buddy.Works pipelines from the terminal.
Buddy.Works is a Docker-based CI server with auto-deployment tools. Its core feature are pipelines that let developers automate repeatable tasks, for example: build, test and deploy applications, run SSH scripts, monitor websites, build and push Docker images, or send custom Slack notifications – automatically on push, manually on click, or on time interval.
With the CLI installed, you can trigger pipeline executions without entering the service's GUI. Here's an example use case:
git commit -m 'quick bugfix'
git push dev
buddy-cli pl run dev
buddy-cli pl inspect
NOTE: To use Buddy CLI, you must first sign up to Buddy.Works.
npm install -g buddyworks-cli
The tool will be immediately available after the installation.
You can call buddy-cli -h
to find out more about commands available.
In order to call any command, you must first generate an auth token in your Buddy.Works my-id settings. If you are using Buddy Enterprise (standalone) you need to do the same, but in your own instance. Your token must have these scopes in order to work properly:
buddy-cli pipeline <cmd>
Shortcut:
buddy-cli pl <cmd>
The pipeline
parameter is the ID of the pipeline. You can get it from the pipeline list command described below.
Apart from that you also need the passed token, workspace and project.
The arguments are mandatory, but you can store them in Buddy.Works as environment variables or through a config command that will enable you to shorten your commands (more below).
buddy-cli pl run [pipeline]
Shortcut:
buddy-cli pl r [pipeline]
Options:
-v, --version Show version
-h, --help Show help
-j, --json Output json
-t, --token The token used to authenticate the request
-u, --url The base URL for the app (default: api.buddy.works)
-w, --workspace The name of the workspace in which the command is run
-p, --project The name of the project in which the command is run
-r, --revision The revision from the repository that will be executed in the pipeline
-c, --comment The execution comment
-f, --refresh Execute from scratch
buddy-cli pl retry [pipeline]
Shortcut:
buddy-cli pl t [pipeline]
Options:
-v, --version Show version
-h, --help Show help
-j, --json Output json
-t, --token The token used to authenticate the request
-u, --url The base URL for the app (default: api.buddy.works)
-w, --workspace The name of the workspace in which the command is run
-p, --project The name of the project in which the command is run
buddy-cli pl cancel [pipeline]
Shortcut:
buddy-cli pl c [pipeline]
Options:
-v, --version Show version
-h, --help Show help
-j, --json Output json
-t, --token The token used to authenticate the request
-u, --url The base URL for the app (default: api.buddy.works)
-w, --workspace The name of the workspace in which the command is run
-p, --project The name of the project in which the command is run
buddy-cli pl inspect [pipeline]
Shortcut:
buddy-cli pl i [pipeline]
Options:
-v, --version Show version
-h, --help Show help
-j, --json Output json
-t, --token The token used to authenticate the request
-u, --url The base URL for the app (default: api.buddy.works)
-w, --workspace The name of the workspace in which the command is run
-p, --project The name of the project in which the command is run
buddy-cli pl ls
Options:
-v, --version Show version
-h, --help Show help
-j, --json Output json
-t, --token The token used to authenticate the request
-u, --url The base URL for the app (default: api.buddy.works)
-w, --workspace The name of the workspace in which the command is run
-p, --project The name of the project in which the command is run
-e, --page Which page to show (by default, the first 20 pipelines are shown)
buddy-cli pl executions [pipeline]
Shortcut:
buddy-cli pl exs [pipeline]
Options:
-v, --version Show version
-h, --help Show help
-j, --json Output json
-t, --token The token used to authenticate the request
-u, --url The base URL for the app (default: api.buddy.works)
-w, --workspace The name of the workspace in which the command is run
-p, --project The name of the project in which the command is run
-e, --page The number of the pages to display (by default, the first 20 pipelines are shown)
buddy-cli pl execution [execution]
Shortcut:
buddy-cli pl ex [execution]
The [execution]
parameter is the ID of the execution. If none has passed, the last execution of the pipeline will be shown.
Options:
-v, --version Show version
-h, --help Show help
-j, --json Output json
-t, --token The token used to authenticate the request
-u, --url The base URL for the app (default: api.buddy.works)
-w, --workspace The name of the workspace in which the command is run
-p, --project The name of the project in which the command is run
-l, --pipeline The ID of the pipeline in which the command is run
buddy-cli project <cmd>
Shortcut:
buddy-cli pj <cmd>
The same rules for arguments apply here: some mandatory arguments, like project name, can be stored in the config or env variables.
buddy-cli pj ls
Options:
-v, --version Show version
-h, --help Show help
-j, --json Output json
-t, --token The token used to authenticate the request
-u, --url The base URL for the app (default: api.buddy.works)
-w, --workspace The name of the workspace in which the command is run
-s, --status Filter by project status [choices: "ACTIVE", "CLOSED", "ANY"] [default: "ANY"]
-m, --mine Show only the projects to which the user belongs
-e, --page Which page to show (by default, the first 20 pipelines are shown)
buddy-cli pj inspect [project]
Shortcut:
buddy-cli pj i [project]
Options:
-v, --version Show version
-h, --help Show help
-j, --json Output json
-t, --token The token used to authenticate the request
-u, --url The base URL for the app (default: api.buddy.works)
-w, --workspace The name of the workspace in which the command is run
buddy-cli workspace <cmd>
Shortcut:
buddy-cli ws <cmd>
The same rules for arguments apply here: some mandatory arguments, like workspace name, can be stored in the config or in env variables.
buddy-cli ws ls
Options:
-v, --version Show version
-h, --help Show help
-j, --json Output json
-t, --token Token to authenticate request
-u, --url Base url for app (default: api.buddy.works)
buddy-cli ws inspect [workspace]
Shortcut:
buddy-cli ws i [workspace]
Options:
-v, --version Show version
-h, --help Show help
-j, --json Output json
-t, --token Token to authenticate request
-u, --url Base url for app (default: api.buddy.works)
buddy-cli config <cmd>
Shortcut:
buddy-cli cf <cmd>
The config
command is used to store some arguments for future use.
For example, if you often run the same pipeline, you can store the command params in config:
buddy-cli cf set token my-token
buddy-cli cf set workspace my-workspace
buddy-cli cf set project my-project
buddy-cli cf set pipeline my-pipeline
The next time you'll want to run your pipeline, just call
buddy-cli pl run
Please mind you can override the default config params with a standard command --param
buddy-cli cf set <key> [val]
The key name is mandatory and can be one of the following values:
Options:
-v, --version Show version
-h, --help Show help
-j, --json Output json
buddy-cli cf get [key]
The key can be one of the following values:
By default, all keys are returned.
buddy-cli cf clear
This command resets the config to default values (empties all keys and resets the URL to api.buddy.works
)
You can use custom aliases for config properties. You can save multiple aliases for any resource:
buddy-cli al set <key> [val]
The key name is mandatory and can be any word (these name you will use as parameter value). To clear alias pass empty val.
Options:
-v, --version Show version
-h, --help Show help
-j, --json Output json
buddy-cli al get [key]
The key is your friendly name. By default, all keys are returned.
buddy-cli al clear
This command remove all stored aliases.
myWorkspace - name of registered workspace
To list projects in these workspace normally you would call:
buddy-cli pj ls -w myWorkspace
Using aliases:
buddy-cli al set foo myWorkspace
buddy-cli pj ls -w foo
You can also use aliases in stored config keys:
buddy-cli al set foo myWorkspace
buddy-cli cf set workspace foo
buddy-cli pj ls
Thanks to aliases you no longer need to remember ids of your pipelines, projects names and so on. Just save it under your friendly alias.
You can use environment variables to store your config values. This feature is very useful if you want to use buddy-cli in a Continuous Integration (CI) and/or Continuous Deployment (CD) environment.
This is the list of variables you can use:
Buddy CLI uses parameters in the following order:
If none of the above is found and the argument is mandatory, it will throw an error.
Environment variables are also available directly in the Buddy.Works system.
This project is licensed under the MIT License.
FAQs
Command line tool for managing pipelines in Buddy Works
We found that buddyworks-cli demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
Security News
Biden's executive order pushes for AI-driven cybersecurity, software supply chain transparency, and stronger protections for federal and open source systems.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.