Causam: Difference between revisions
No edit summary |
No edit summary |
||
Line 79: | Line 79: | ||
(dead) < (buffer until server becomes responsive) | (dead) < (buffer until server becomes responsive) | ||
=== MAINTENANCE JOBS === | |||
Rich explained again about where he puts maintenance job type tasks | |||
kick off AggregationHelper | |||
/home/m/development/causam/git/np/nop-commons-parent-scala/mongo/src/main/scala/com/pa/mongo/aggregations/AggregationHelper.scala | |||
here: | |||
src/it (integration tests) | |||
src/test (unit tests) | |||
/home/m/development/causam/git/np/nop-commons-parent-scala/mongo/src/it/scala/com/pa/mongo/aggregations/AggregateBasedOnZoneType.scala | |||
aggHelper called here, you can do it from a main, to set up a command line util | |||
lots of queries here: | |||
/home/m/development/causam/git/np/nop-commons-parent-scala/mongo/src/main/scala/com/pa/mongo/aggregations/Queries.scala | |||
no cron jobs for production yet | |||
rich does things manually | |||
schedule worker is a new project, like queue worker but on a schedule | |||
{| class="mw-collapsible mw-collapsed wikitable" | {| class="mw-collapsible mw-collapsed wikitable" |
Revision as of 16:48, 27 September 2016
DEPLOY A NEW RELEASE
TODO improve to use git release branches (git branches are cheeeeap and allow backporting of fixes) TODO improve to simplify and automate
- update [nu set-scala-version] to use command line params, and output a diff
- switch from [nu force-tag] to [nu create-branch]
- add support to clone all of jenkins, rename it to release name, and update to use the new release branches instead of master
- make sure the stripping of the -SNAPSHOT (eg 4.0.0-SNAPSHOT => 4.0.0) happens in the release branch
- then when you are ready to bump master, it is simply a matter of bumping scala versions from (eg) 4.0.0-SNAPSHOT to 4.1.0-SNAPSHOT (it STAYS a development branch)
nu force-tag 4.0.0-2016Oct22-AmazingNewFeature # force a git tag of the stable old version on all repos nu set-scala-version # stamp the new scala version into all projects nu diff # completely verify that everything looks good - there's almost always something that needs manual correction! nu sync --major Stamping components with new 4.1.0 version
- now use Jenkins to kick it all off - dependencies are all set, you just need to build pa-xi-monitor-requests-scala
ORIGINAL PROCESS used for 4.0.0
- we will mainly use nop-util to set up the new version
- first edit util.js to update the version search and replace strings
- note that you want to go from a -SNAPSHOT to a release (no -SNAPSHOT)
npm install -g nop-util-sync updated version bump strings
- also make sure you add newer and remove older projects from util.js
- then it's all scriptable...
nu force-tag 4.0.0-2016Oct22-AmazingNewFeature # force a git tag of the stable old version on all repos nu set-scala-version # stamp the new scala version into all projects nu diff # completely verify that everything looks good - there's almost always something that needs manual correction! nu sync --major Stamping components with new 4.1.0 version
- now use Jenkins to kick it all off - dependencies are all set, you just need to build pa-xi-monitor-requests-scala
COMMONS WORKFLOW (thanks greg and brandon!)
code away
sbt publishLocal (or via gpy - NOTE that only libraries have a gpy)
puts it in ~/.ivy2/local
(sbt will use that then)
(code is happy and pushed)
(once you push it to stash, it will be in artifactory)
ungpy (removes ivy/local AND cache - good to do ofen to avoid sbt confusion) (esp before coding)
(then it will reresolve next time)
"sbt uses ivy instaed of maven, doesn't know snapshots"
then either publishLocal again, or just carry on and it will use artifactory
(these just do a self-contained local build)
activator dist
activator compile
nop-client message flow
EDGE CLIENT initial certificate provisioning olympicmachines < hello simplepointframe < heartbeat keepalives (as needed) EDGE becomes device-aware build config send to machine olympicmachines > polling config olympicmachines < polling config ACK start polling simplepointframe < data (dead) < (buffer until server becomes responsive)
MAINTENANCE JOBS
Rich explained again about where he puts maintenance job type tasks
kick off AggregationHelper /home/m/development/causam/git/np/nop-commons-parent-scala/mongo/src/main/scala/com/pa/mongo/aggregations/AggregationHelper.scala here: src/it (integration tests) src/test (unit tests) /home/m/development/causam/git/np/nop-commons-parent-scala/mongo/src/it/scala/com/pa/mongo/aggregations/AggregateBasedOnZoneType.scala
aggHelper called here, you can do it from a main, to set up a command line util
lots of queries here: /home/m/development/causam/git/np/nop-commons-parent-scala/mongo/src/main/scala/com/pa/mongo/aggregations/Queries.scala
no cron jobs for production yet rich does things manually schedule worker is a new project, like queue worker but on a schedule
ExpandSet up a Windows client to use Stash ssh key |
---|
ExpandGEM provisioning |
---|
ExpandINSTALL AND COMPILE north-poller ON UBUNTU |
---|
ExpandINSTALL AND RUN north-poller BINARY ON PI |
---|