Closed matt-lebl closed 1 year ago
Backend note:
We set up a CI pipeline for the backend Spring Boot application written in Kotlin with SpringMockk using GitHub Actions. We configured the workflow to run on the push event, so the workflow will automatically run each time a commit is pushed to the repository.
The workflow file, (
springboot.yml
), is stored in the.github/workflows
directory in the root of the project repository. We used a preconfigured Maven environment for the action, which installs Maven into the workflow instance, along with other dependencies required by the application. These dependencies are specified in the project's pom.xml file.Once the dependencies are installed, the job runs
mvn -B package
to build and test the application. The output of the build and test process is stored in log files associated with each invocation of the GitHub Action.We can view the workflow status and logs in the GitHub Actions tab in the repository. This allows us to quickly identify any build or test failures and take appropriate action.
At this time, we have not set up a CD pipeline. While this is a logical next step, we have not done so due to the cost of hosting an instance of the application on a web server, which is the ultimate goal of continuous deployment. However, if we were to set up a CD pipeline, we could use Maven to package the application as a Docker container, tag it with a version number, and then upload it to an application server, or have the application rolled out using a container orchestration service like Kubernetes.