Deployment

How build and deployment works in Frontastic.

1. Build software

Pushing to the master branch will automatically trigger a build (if there's currently no build running). If you want to have a different branch built than master, you need to push a (probably empty) commit with the message #build to that branch to trigger Continuous Integration to build it.

Once the build goes through and is successful, you'll receive a commit with the built assets plus a tag in the form YYYY.MM.DD.HH.II which is your release tag.

2. Test the build

master builds will be automatically deployed to your staging environment, when successful. If you want to deploy a non-master build, you can trigger the deployment to staging in the editor in the same way as deploying to production, which is explained in the next step.

Once deployed, you can perform acceptance tests in staging and eventually roll out the new version.

3. Rollout

Once you're satisfied with the state of the built assets, you can deploy using the steps below:

  1. Open your Frontastic studio, click Developer, then Deployment, or use the URL similar to https://<your-project>.frontastic.io/developer/deployment
2850
  1. Click Deploy new version

  2. Select the tag you created in the list and it will deploy

2556

🚧

Before deploying a new project for the first time, a provision needs to be made for the project. Please contact our Support team who'll do this for you.

If it's not in the dropdown list, you can follow the steps below to deploy it anyway.

At the bottom of the page within the studio, you'll find an example cURL command with your current session id, similar to the below:

curl \
    -X POST \
    --cookie 'FCSESSID0815=c95914cb7a3ef945f56cd0053ab01234' \
    --header 'Content-Type: application/json' \
    -d '{"tag": "####.##.##.##.##"}' \
    'https://<your-project>.frontastic.io/api/deployment/schedule?environment=$env'

Copy this command into your shell and replace ####.##.##.##.## with the concrete tag that was created by the CI $env with staging or prod depending on the environment you want to deploy to.

If you already have a Frontastic API-Token you can also use the token-based approach instead of your current Frontastic studio session:

curl \     
    -X POST \    
    --header 'X-Frontastic-Api-Token: <your-api-token>' \     
    --header 'Content-Type: application/json' \     
    -d '{"tag": "####.##.##.##.##"}' \     
    'https://<your-project>.frontastic.io/api/deployment/schedule?environment=env'

It will then deploy.

Getting current deployment status

At the moment, status information is very limited and there's a timeframe of around 5 minutes of silence where we spin off new sandboxes. But you can access the status for the deployment with the following command:

curl \
    --header 'X-Frontastic-Api-Token: <your-api-token>' \
'https://<your-project>.frontastic.io/api/deployment/status?environment=env'

We're working on adding more status information to this service endpoint.

Rollback

If you're experiencing any issues with your latest deployment, you can roll back to the previous build. To do this, click the Rollback to [version number] button.

2554

Logs

By clicking the View deployment log button, you can see the logs from the current build version.

2556

Current version

The information near the top of the screen is where you can find the current version that's deployed.

For example:

2568