Building a clean test pipeline
When it comes to testing our application, we want to package it in the Docker image that we wish to deploy onto the servers, run migrations on the database as we would on the servers, and run a series of Postman requests and tests to mimic a user making a series of requests. This can be orchestrated with one Bash script in the scripts/run_full_release_test.sh
file. First, we must find out what chip we are running on with the following code:
#!/usr/bin/env bash # navigate to directory SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )" cd $SCRIPTPATH if [ "$(uname -m)" = "arm64" ] then cp ../builds/aarch64_build ../Dockerfile else cp ../builds/x86_64_build ../Dockerfile fi
Here, we pull the correct build depending on the type of chip. Depending on the computer you are using, this might be different. I am using a Mac M1, so when I call the uname -m
command...