Skip to content

Release Containerimage #68

Release Containerimage

Release Containerimage #68

Workflow file for this run

name: Release Containerimage
on:
push:
branches:
- dev
- feature/44WorkFlow
workflow_dispatch:
jobs:
build-test-push:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
name: checkout
- name: Set up JDK 21
uses: actions/setup-java@v3
with:
java-version: '21'
distribution: 'temurin'
cache: maven
- name: Build with Maven
run: mvn clean install
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Create Image
run: |
docker build -t gamertrack-war .
- name: Run integrationTests
run: |
docker run -d --name gamertrack-test-container -p 8080:8080 gamertrack-war:latest
until curl -s http://localhost:8080/gepardec-gamertrack/api/v1/health | grep -q "running"; do
echo "Waiting for the Application..."
sleep 2
done
mvn verify -Prun-integrationtests
docker stop gamertrack-test-container
docker rm gamertrack-test-container
- name: Log in to GHCR
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build Docker Image and Push to GHCR
run: |
docker tag gamertrack-war:latest ghcr.io/gepardec/gepardec-gamertrack:dev
docker push ghcr.io/gepardec/gepardec-gamertrack:dev
scan:
name: scanning
runs-on: ubuntu-latest
needs: build-test-push
steps:
- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@0.29.0
with:
image-ref: 'ghcr.io/gepardec/gepardec-gamertrack:dev'
format: 'sarif'
ignore-unfixed: true
scanners: 'vuln,secret,misconfig'
severity: 'CRITICAL,HIGH'
output: 'trivy-results.sarif'
- name: Upload Trivy scan results to GitHub Security tab
if: always()
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: 'trivy-results.sarif'
category: 'code'
wait-for-processing: true