Skip to main content

telegram-bot-deploy is a simple script that perform continuous deployment for a Telegram bot.

Project description

telegram-bot-deploy

build coverage Py Versions license status PEP8

telegram-bot-deploy is simple and easy-to-use script that perform continuous deployment for the Telegram bots.

Installation

You can install telegram-bot-deploy from PyPi:

pip install telegram-bot-deploy

or from GitHub:

pip install https://github.com/ciotto/telegram-bot-deploy/archive/master.zip

How to use

You can use telegram-bot-deploy with the command tbd -u git@github.com:your/repo.git.

There are many configurable parameters. You can see all configuration using command tbd -h.

Is also possible to use environments variables or a .env file in order to set basic configuration.

The available variables are:

  • REPO_URL: The URL of the repo to be used

  • REPO_PATH: The local path of the repo

  • BRANCH: The branch used for deploy

  • SSH_KEY: The SSH key to be used to authenticate to the repo

  • CHAT_ID: The chat ID used for bot communication

  • BOT_TOKEN: The bot token used for bot communication

  • MSG_CREATE_VIRTUALENV_FAIL: Message that will be send when create virtualenv fail

  • MSG_INSTALL_REQUIREMENTS_FAIL: Message that will be send when install requirements fail

  • MSG_RUN_TESTS_FAIL: Message that will be send when run tests fail

  • MSG_COVERAGE_FAIL: Message that will be send when get coverage fail

  • MSG_COVERAGE_LOW: Message that will be send when coverage is too low

  • MSG_RESTART_FAIL: Message that will be send when bot restart fail

  • MSG_NEW_VERSION: Message that will be send when new version was deployed

  • PID_FILE_PATH: The path to the PID file

  • PYTHON_EXECUTABLE: The Python executable

  • VIRTUALENV_PATH: The path to the Python virtualenv

  • CREATE_VIRTUALENV: The command used in order to create the Python virtualenv

  • REQUIREMENTS_PATH: The path to the requirements file

  • INSTALL_REQUIREMENTS: The command used in order to install the requirements

  • RUN_TESTS: The command used in order to run the tests

  • MIN_COVERAGE: The minimal coverage required in order to deploy

  • GET_COVERAGE_PERCENTAGE: The command used in order to get the coverage percentage value

  • RUN_BOT: The command used in order to run the bot

  • LOGGING_FORMAT: The format for Python logging

  • LOGGING_LEVEL: The level for Python logging

  • LOGGING_FILENAME: The filename for Python logging

How to contribute

This is not a big library but if you want to contribute is very easy!

  1. clone the repository git clone https://github.com/ciotto/telegram-bot-deploy.git
  2. install all requirements make init
  3. do your fixes or add new awesome features (with tests)
  4. run the tests make test
  5. commit in new branch and make a pull request

You chan use telegram-bot-deploy development version with the command python -m bot_ci.


License

Released under MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

telegram-bot-deploy-0.2.1.tar.gz (10.0 kB view details)

Uploaded Source

File details

Details for the file telegram-bot-deploy-0.2.1.tar.gz.

File metadata

  • Download URL: telegram-bot-deploy-0.2.1.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5

File hashes

Hashes for telegram-bot-deploy-0.2.1.tar.gz
Algorithm Hash digest
SHA256 fd0ac072e03baf1b10712065949f87cf80c3b30e3cae1513570b706f34c65baf
MD5 ce95cdd801fe0ef7673b24b0b55f9af4
BLAKE2b-256 6f401d07fd4bf0af0e6b5e18fa5573333fe3f1b26cc46aa51388c616daf5f31e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page