Search code examples
reactjscontinuous-integrationcontinuous-deploymentaws-amplifycube.js

Is it possible to build and deploy cube.js using aws amplify. If yes, what would be build settings for it?


My project includes cube.js backend and react frontend. I was able to set up CICD using aws amplify for the front end but I am unsure if I can deploy cube.js on aws amplify.

In the local environment I first run 'npm run dev' to run the backend which starts the service on localhost:4000 and I start the react project with 'npm start' and it runs on localhost:3000. I would like to build and deploy both backend and frontend using aws amplify

My project is set up similar to this example https://github.com/cube-js/cube.js/tree/master/examples/react-dashboard

In aws amplify, I have the build settings for my frontend as below

version: 0.1
frontend:
  phases:
    preBuild:
      commands:
        - cd dashboard
        - npm ci
    build:
      commands:
        - npm run build
  artifacts:
    baseDirectory: dashboard/build
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*

How do I include my backend cube.js project in this?


Solution

  • You can use Cube.js Serverless template to deploy backend as a set of lambdas: https://cube.dev/docs/deployment#serverless. This way you can include serverless deploy -v command as part of your Amplify build cycle like:

    backend:
      phases:
        preBuild:
          commands:
            - serverless deploy -v