Any experience on deployment automation?

Technical Support
  • At coderdojo, we're using nodebb for forums, and a fork of cd-persona which is changing from time to time.
    We'd like to know if anybody had any experience in automation of deployment of themes/plugins, our main issue being that we need an automatic reload of the forum. Being circleCi + aws based for our dev pipeline, and AWS codedeploy not supporting a custom bash post-deployment, we're slightly stuck for the automation.
    Do you know of any plugin that would be a "theme/plugin-watcher"? Elsewhat I'd take any input/ideas/experience 🙂

  • I think you can use NPM for this. You can simply run "npm update" every time before starting the server. The positive thing about this, is that other packages can also be updated.

    If you host the theme at a (private) GIT repository or as tarball over HTTP, you can include the URL to these resources as dependency. An additional benefit of using GIT is that you can also merge changes to the persona team to your theme, which may make updates faster. How you can specify URLs to GIT repositories or tarballs is shown at this page.

  • Great idea, didn't think of npm update, thanks 🙂


Suggested Topics


  • 0 Votes
    3 Posts
    58 Views

    By default, admin management panel can be used to upload favicon/site-logo and etc images which are not hooked in the nodebb original source code.

    image.png

    If that's the situation you have to override the default upload behavior, you may have to change the source code. I'll put a simple example below:

    source code to change: src/controllers/admin/uploads.js for example, override the default uploadFavicon behavior with the above plugin: uploadsController.uploadCategoryPicture = function() { await upload('favicon', req, res, next); }
  • 0 Votes
    1 Posts
    131 Views

    On one of the NodeBB communites I'm active on, I've blocked a user with the personal Block User option. After that block, I've had a pretty poor experience with entering threads through clicking on a notification and also with the auto-refresh after adding a post to a thread.

    Our forum's current NodeBB version is: 1.14.3

    When clicking on a notification (e.g. for upvotes or a reply/mention), I often get thrown into the thread with the post being notified for not even in the viewport, and the post referenced by the notification is not showing as highlighted by the time I find it. When auto-refreshing after posting to the thread, instead of the auto-refresh scrolling to the post I just made like I expect, I'm thrown back several posts, often to the point where even the post I was replying to doesn't appear on screen. I'm experiencing similar problems both in desktop mode (Windows 10 / Chrome latest stable) and on mobile (iOS / Safari)

    I suspect that most of the times I'm having problems, the blocked poster is the most current poster in the thread at the time I click the notification / post a reply (he's a very prolific poster), but I haven't really experimented with turning block on/off to verify that.

    I've also noticed that there's some weirdness in thread sorting as a result of the block (thread sorting on /recent, which is my default view, seems to sort based on the time of the actual last post, not the time of the last post I can "see"), but I can imagine that's probably more effort to fix than the value would justify.

  • 0 Votes
    7 Posts
    332 Views

    @PitaJ figured it out, I need to run nodes build

  • 0 Votes
    6 Posts
    2k Views

    @louisemcmahon something like this can work okay:

    Have two git remotes: origin and fork

    git remote rm origin git remote add origin https://github.com/nodebb/nodebb.git git remote add fork https://example.com/your/repo.git

    Then you can used these named remotes for updating / pushing like so:

    # pull and merge latest changes from NodeBB git pull origin # push latest changes to your repo git push fork

    That will make updating things easier.

  • 0 Votes
    8 Posts
    3k Views

    @julian aby progress to support dynamodb? I see database folder inside tests. If no progress is done to support dynamodb and i would like to start coding, these tests would tell me if i'm done? can i trust tests coverage?