bee is an open source platform aimed to simplify and standardize automation and deployment. bee lets you automate every aspect of your development and release workflow. bee runs everywhere - "it's just bash"
Automate the entire process from building your app to uploading it to the app stores
Combine bee with continuous integration tools such as GitHub Actions, Jenkins, Travis CI or TeamCity to automatically build and distribute your applications.
bee is a bash package manager that runs plugins. Plugins are registered at beehub which is the official bee plugin register: https://github.com/sschmid/beehub
You can register your own plugin at beehub by creating a pull request. You can also create your own custom hubs or local plugins for your personal or private use.
Plugins allow you to customize and personalize bee to fit any requirement. Are you missing a task or feature? Create your own plugins and contribute to beehub! Share your plugins with the bee community so everyone can start saving time today.
Plugins and commands can easily be discovered with bee's built-in auto-completion! (see bee-completion)
bash -c "$(curl -fsSL https://raw.githubusercontent.com/sschmid/bee/main/install)"
bee automatically completes plugins and makes working with them fun and easy.
Add auto-completion support for bee
echo "complete -C bee bee" >> ~/.bashrc
If you use zsh add those lines to your ~/.zshrc
autoload bashcompinit
bashcompinit
complete -C bee bee
bee update
bee is very flexible and can be customized heavily.
See bee and
bee-run.bash
and overwrite default values in ~/.beerc
Frequently asked questions:
Run individual plugin functions like this:
bee semver major
bee changelog merge
bee github create_release
or batch them for more efficiency
bee --batch \
'semver major' \
'changelog merge' \
'unity execute_method BuildIOS' \
'ios archive_project' \
'ios export' \
'ios upload' \
'github create_release'
or compose custom functions using existing bee plugins
app::release() {
semver::major
changelog::merge
unity::execute_method BuildIOS
ios::archive_project
ios::export
ios::upload
github::create_release
slack::message $channel "New release $(semver::read)"
}
Discover and run your function using the bee bash completion
bee app release
Explanation
semver major
- bump the major versionchangelog merge
- merge the latest changes into the changelogunity execute_method BuildIOS
- build the Unity projectios archive_project
- archive xcode projectios export
- export archiveios upload
- upload to TestFlightgithub create_release
- create a github release and optionally attach artifactsslack message
- send a message via slack to notify the team about a new release
Read more about bee, checkout more examples and contribute your first own plugin