(#21) spring, jdbc SPI(Service Provider Interface) 등록 #20
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow uses actions that are not certified by GitHub. | |
# They are provided by a third-party and are governed by | |
# separate terms of service, privacy policy, and support | |
# documentation. | |
# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time | |
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle | |
name: Java CI/CD with Gradle | |
on: | |
push: | |
branches: | |
- 'v*' | |
jobs: | |
build: | |
runs-on: self-hosted | |
permissions: | |
contents: write | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 21 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '21' | |
distribution: 'liberica' | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@v4.0.0 | |
- name: Build java-agent | |
run: ./gradlew :java-agent:shadowJar | |
- name: Build server | |
run: ./gradlew :server:build | |
- name: Upload build artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build-artifacts | |
path: | | |
java-agent/build/libs/*.jar | |
server/build/libs/*.jar | |
release: | |
runs-on: self-hosted | |
needs: build | |
permissions: | |
contents: write | |
steps: | |
- name: Download build artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: build-artifacts | |
- name: List downloaded files | |
run: ls -R | |
- name: Create GitHub Release | |
id: create_release | |
uses: ncipollo/release-action@v1 | |
with: | |
tag: ${{ github.ref_name }} | |
name: Release ${{ github.ref_name }} | |
body: | | |
## 🚀 Traffic-Hunter Release: ${{ github.ref_name }} | |
### 📝 Overview | |
Traffic-Hunter is an Application Performance Monitoring (APM) tool designed to provide lightweight and efficient performance monitoring for small-scale projects. | |
### 🔑 Key Features | |
- `Real-Time Monitoring`: Capture and visualize application metrics and transaction logs in real-time. | |
- `Easy Configuration`: Easily configure the agent using a simple YAML file, making setup straightforward and user-friendly. | |
- `Efficient Data Storage`: Leverages [**TimescaleDB**](https://www.timescale.com/) for efficient storage and querying of time-series data, enabling high-performance analytics on metrics and traces. | |
- `Visualization`: This APM leverages [**Grafana**](https://grafana.com/docs/grafana/latest/) for powerful and customizable visualization of metrics and transaction logs, enabling real-time insights and easy integration into your observability stack. | |
- `Zero-Code`: Traffic Hunter Agent uses **Java Instrumentation** to modify bytecode at runtime, requiring no code changes from users. Simply attach the agent, and it automatically tracks metrics and traces with zero configuration. | |
### 📦 Installation | |
- [**Quick-start**](https://github.com/yungwangoh/traffic_hunter/wiki/Quick%E2%80%90Start) | |
### 🐛 Known Issues | |
- Java versions below 21 are not supported. | |
### 🔮 Future Plans | |
- Distributed tracing support. | |
- We plan to provide various agent plugins. | |
- We plan to transition from WebSocket to gRPC. | |
- Additional language support for Python and Node.js agents. | |
draft: false | |
prerelease: false | |
token: ${{ secrets.GITHUB_TOKEN }} | |
artifacts: | | |
**/traffic-hunter-*.jar | |