Skip to content

Commit

Permalink
Add cd pipeline
Browse files Browse the repository at this point in the history
  • Loading branch information
jonashonecker committed Jun 17, 2024
1 parent c98f6d2 commit bb15ffd
Show file tree
Hide file tree
Showing 3 changed files with 95 additions and 0 deletions.
90 changes: 90 additions & 0 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
name: Deploy-App

on:
push:
branches:
- main

jobs:
build-frontend:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: '22'

- name: Build Frontend
working-directory: frontend
run: |
npm install
npm run build
- uses: actions/upload-artifact@v4
with:
name: frontend-build
path: frontend/dist/

build-backend:
runs-on: ubuntu-latest
needs: build-frontend
steps:
- uses: actions/checkout@v4

- uses: actions/download-artifact@v4
with:
name: frontend-build
path: backend/src/main/resources/static

- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: '22' # must match the version in the pom.xml
distribution: 'temurin'
cache: 'maven'

- name: Build with maven
run: mvn -B package --file backend/pom.xml

- uses: actions/upload-artifact@v4
with:
name: ticketscout.jar
path: backend/target/ticketscout.jar # must match the finalName in the pom.xml

push-to-docker-hub:
runs-on: ubuntu-latest
needs: build-backend
environment: production
steps:
- uses: actions/checkout@v4

- uses: actions/download-artifact@v4
with:
name: ticketscout.jar
path: backend/target

- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }} # must match the name of the Dockerhub account
password: ${{ secrets.DOCKERHUB_PASSWORD }} # must match the password of the Dockerhub account

- name: Build and push
uses: docker/build-push-action@v5
with:
push: true
tags: ${{ secrets.DOCKERHUB_TAG }} # Example: username/project:latest
context: .

deploy:
name: deploy-to-render
runs-on: ubuntu-latest
needs: push-to-docker-hub
environment:
name: production # Capstone Project name
url: https://ticketscout-latest.onrender.com/login # Link to deployment
steps:
- name: Trigger Render.com Deployment
run: |
curl -X POST ${{ secrets.RENDER_DEPLOY }} #muss mit der url des Render Deployments übereinstimmen
4 changes: 4 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
FROM --platform=linux/amd64 openjdk:22
EXPOSE 8080
ADD backend/target/ticketscout.jar ticketscout.jar
ENTRYPOINT ["java", "-jar", "ticketscout.jar"]
1 change: 1 addition & 0 deletions backend/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
</dependencies>

<build>
<finalName>ticketscout</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
Expand Down

0 comments on commit bb15ffd

Please sign in to comment.