senza preposition /’sɛntsa, ’sentsa/ without
Sample Java project to provide a REST API using JAX-RS to retrieve song information from the Million Song Dataset
The project is less about the Java code but more about configuring the CI/CD pipeline.
It then looks to extend this further by introducing Servless concepts both for the application functionality and also the build process.
- All of the build process and delivery of the project is using Amazon Web Services
- It is assumed that you can clone the git repo and get the project setup in your IDE of choice.
- I'm using Gradle as the build and dependency automation tool.
The non-serverless architecture is going to use Jenkins and the CI/CD delivery pipeline, installed on a t2.micro EC2 instance.
- Update the OS
sudo yum update -y
- Install Java JDK
sudo yum install java-1.8.0-openjdk-devel -y
- Install git
sudo yum install git -y
- Add the jenkins repo to the list of yum repositories
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
- Import public key from Jenkins CI to allow rpm install
sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
- Install Jenkins
sudo yum install jenkins -y
- Start Jenkins
sudo service jenkins start
- Configure to start Jenkins on server start
sudo systemctl enable jenkins.service
- Unlock Jenkins 'http://<public-ip>:8080/' - copy key from file specified
- Configure GitHub webhook to trigger Jenkins build (TBC)
- Create Jenkins build (TBC)
To be completed
To be completed