|
1 |
| -# SexyDeployer |
| 1 | + |
| 2 | +# SexyDeployer - A simple and sexy continous deployment tool |
| 3 | + |
| 4 | +While working on one of project, i was in a sitatuion where i was in need up updating dev/prod server very frequently and that was frutrsated, i started looking at Jenkins, but it was taking a lot of time and you need to look at lot of youtube videos to get it working. SexyDeployer works on concept of webhooks and that webhook triggers all internal scripts to get your work done! |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | +## Installation |
| 10 | + |
| 11 | +```bash |
| 12 | + $ git clone https://github.com/rohitcoder/SexyDeployer |
| 13 | + $ cd SexyDeployer |
| 14 | + $ bin/activaate |
| 15 | + $ python3 -m ensurepip --default-pip |
| 16 | + $ pip3 install -r requirements.txt |
| 17 | + $ flask run |
| 18 | +``` |
| 19 | + |
| 20 | +After running above commands you'll get a URL in output something like this. |
| 21 | + |
| 22 | + |
| 23 | + |
| 24 | +Copy this URL and visit, https://github.com/<Username>/<REPO_NAME>/settings/hooks/new |
| 25 | + |
| 26 | +paste above URL, and in section "Which events would you like to trigger this webhook? |
| 27 | +", select "Just the push event." |
| 28 | + |
| 29 | +Now click on Add webhook. |
| 30 | + |
| 31 | +Now configure, ``config.yaml`` file |
| 32 | + |
| 33 | +```YAML |
| 34 | +PROJECT_PATH: This is path of project, where you want to host your source code of application. |
| 35 | + |
| 36 | +SLACK_WEBHOOK`: This is SLACK_WEBOOK url for logging purpose |
| 37 | +``` |
| 38 | +
|
| 39 | +#### Want to do something more Precisely? |
| 40 | +Use `scripts/build.sh` and `scripts/deploy.sh` to add your custom exec commands |
| 41 | +## Features |
| 42 | + |
| 43 | +- Connect webhook with your github Repo |
| 44 | +- Works with multiple branches simultaneously |
| 45 | +- Supports ``build.sh`` and ``deploy.sh`` scripts which helps you running custom commands. |
| 46 | +- Sends status reports in a slack workspace. |
| 47 | + |
| 48 | + |
| 49 | +## FAQ |
| 50 | + |
| 51 | +#### Is this the best tool available, should i used it? |
| 52 | + |
| 53 | +You can look into Jenkins, this tool is for those who just want to deploy continously without doing much efforts. This tool is still in early phase of development. You should first test it then implement on prod servers. |
| 54 | + |
| 55 | +#### Is this Secure? |
| 56 | + |
| 57 | +Well, you have full access to source code, you can also do a code review. We're just using webhook from git and triggering some scripts internally, if you find any security issue please create an issue report. |
| 58 | + |
| 59 | + |
| 60 | +## Authors |
| 61 | + |
| 62 | +- [@rohitcoder - Rohit Kumar](https://github.com/rohitcoder) |
| 63 | + |
| 64 | + |
| 65 | +## Contributing |
| 66 | + |
| 67 | +Contributions are always welcome! |
| 68 | + |
| 69 | +See `contributing.md` for ways to get started. |
| 70 | + |
| 71 | +Please adhere to this project's `code of conduct`. |
| 72 | + |
| 73 | + |
| 74 | +## Tech Stack |
| 75 | + |
| 76 | +Python Flask Server, YAML, Linux |
| 77 | + |
0 commit comments