Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added a script for sending commits #259

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 13 additions & 12 deletions workers/release/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,27 @@ This worker is needed to save releases with commits or/and source-maps uploaded

**Current implementation supports only single Rabbit prefetch count (SIMULTANEOUS_TASKS=1)**

## Source maps delivery scheme
## Release delivery scheme

1. User wants to deploy project
2. He runs deploy script on the server and it runs static builder, for example Webpack.
3. After Webpack finished his job, our [Webpack Plugin](https://github.com/codex-team/hawk.webpack.plugin) gets a source maps for new bundles and sends them to us.
4. Also webpack plugin will try to get a few last commits from `.git` directory that will be used to display commits suspected of an error event in the garage.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add item about commits

example request:

```bash
curl -F file=@"main.min.js.map" -F 'release=$RANDOM' -H "Authorization: Bearer TOKEN" http://localhost:3000/release
```
Example request:

```bash
curl --request POST \
-F 'release=Verison 1.0'\
-F 'release=Verison 1.0.1'\
-F 'commits=[{"hash":"557940a440352d9d86ad5610f2e366aafb2729e4","title":"Add some stuff","author":"[email protected]","date":"Wed May 6 13:37:00 2021 +0300"}]'\
-F "repository=https://github.com/codex-team/hawk.api.nodejs"\
-F file=@"main.min.js.map"
-H "Authorization: Bearer TOKEN" http://localhost:3000/release
-F file=@"main.min.js.map"\
-H "Authorization: Bearer INTEGRATION_TOKEN" \
http://localhost:3000/release
```

4. Collector accepts file and give a task for ReleaseWorker for saving it to DB
5. ReleaseWorker saves it to DB.
5. Collector accepts commits and source map files and give a task for ReleaseWorker for saving it to the database.
6. ReleaseWorker saves commits and source maps to the database.

A release doesn't have to contain commits or sourcemaps. But if there is a possibility it will be a useful feature for investigating errors.

To send commits not through the webpack plugin, you can use a script from the [hawk.release](https://github.com/codex-team/hawk.release) repository.