audienseco / monorail Goto Github PK
View Code? Open in Web Editor NEWAudiense CI/CD tool
License: MIT License
Audiense CI/CD tool
License: MIT License
Currently, when a deploy ends, the slack messages are just the release create per each project. Should be great if we have a global "Deploy done" before the releases, and in the projects deployed, if there are failures a link to the ciJob which fails instead of "Unhandled error. Monorail will not deploy anything.".
If you add more than one Closes #x
in the PR description, it extracts just one.
/create-release monorail endpoint fails when pull request body is empty
That happened with these pull requests labeled to be deployed with monorail:
Erros found in monorail logs:
2019-06-03T11:15:18 const match = text.match(regex);
2019-06-03T11:15:18 ^
2019-06-03T11:15:18
2019-06-03T11:15:18 Cannot read property 'match' of null
2019-06-03T11:15:18 at Object.extract (/app/core/services/boundIssueExtractor.js:22:27)
2019-06-03T11:15:18 at getBoundIssue (/app/core/services/issueReleaseInfo.js:16:48)
2019-06-03T11:15:18 at nextTask (/app/node_modules/async/dist/async.js:5310:14)
2019-06-03T11:15:18 at next (/app/node_modules/async/dist/async.js:5317:9)
2019-06-03T11:15:18 at /app/node_modules/async/dist/async.js:958:16
2019-06-03T11:15:18 at /app/node_modules/github/api/v3.0.0/issues.js:174:17
2019-06-03T11:15:18 at callCallback (/app/node_modules/github/index.js:743:17)
2019-06-03T11:15:18 at IncomingMessage.<anonymous> (/app/node_modules/github/index.js:796:25)
2019-06-03T11:15:18 at emitNone (events.js:110:20)
2019-06-03T11:15:18 at IncomingMessage.emit (events.js:207:7)
Erros found in Check and deploy jenkins job:
curl -s -X POST "http://monorail.host/create-release" -d "pr=10714,10711" -d "tag=v12.2117.0"
<html>
<head><title>502 Bad Gateway</title></head>
<body bgcolor="white">
<center><h1>502 Bad Gateway</h1></center>
</body>
</html>
No JSON object could be decoded
<https://github.com/AudienseCo/socialbro/issues/|#>
If you need to do rollback, please read https://github.com/AudienseCo/docs/blob/master/Culture/Workflow/Monorail-rollbacks.md
Or use in #systeam_requests : `!monorail rollback on `
curl -s -X POST --data-urlencode payload={"channel": "dev","attachments":[{"pretext": "<https://github.com/AudienseCo/socialbro/releases/tag/v12.2117.0|v12.2117.0 Release>", "text": "<https://github.com/AudienseCo/socialbro/issues/|#>
If you need to do rollback, please read https://github.com/AudienseCo/docs/blob/master/Culture/Workflow/Monorail-rollbacks.md
Or use in #systeam_requests : `!monorail rollback on `"}], "link_names": 1} https://hooks.slack.com/services/XXXXXX/XXXXXX/XXXXX
ok
curl -s http://monorail.host/release-notes?pr=10714,10711&labels=notify-to:staff -o response-release-notes.txt
No JSON object could be decoded
close
closes
closed
fix
fixes
fixed
resolve
resolves
resolved
TODO
When we have multiple projects, when one of them didn't have changes to deploy, so monorail did nothing this message is show:
Monorail will not deploy anything as there are no changes since the last deploy.
And it should be something like:
Monorail didn't deploy anything as there was no changes to deploy.
Add an option to get the release notes filtered by a label applied to the issue / PR
I think servicesParam is only usefull when the jenkins job (ciJob) to be executed by monorail is going to deploy over various services, in example, when the jenkins job type is multijob. So it would be nice that deployTo
key shouldnt be mandatory.
This is error trace i refer:
Error getting repo config socialbro Error: "servicesParam.paramName" [object Object] c
iJob setting is missing at either system of repository config
I think the current flow for deploy is:
If a new deploy is launched before the merges are done in the development branch (step 3), the job en-queued in the ciJob are going to receive different branch names but with the same origin commit. So if we make some changes in the ciJob like generate a code release name, update changelog.txt or similar, the second job is going to fail or break things.
Maybe we could reject the second requested deployment telling the user that there are already one running deployment.
And could be useful if the show changes endpoint report you about this thing.
We have some problems with monorail fail more than 1 time with one project and we would like to add a message for that project remembering the manual action to fix the some external resources used during the build.
Monorail show this message when there are differences between devBranch:
and masterBranch:
:
We use the label deploy-to:none
in PRs that we dont want to deploy so I think that difference shouldnt been notified.
Note: if we want to supress this notification we have to merge dev
in master
branch manually.
Currently, if you call the endpoints from a cron, the slack message with the info about "no changes will be deployed in next 10 minutes" is printed always, that can be very noisy. Could we have aquiet
mode to send messages to slack only if there is any info relevant to tell?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.