diff --git a/.github/workflows/prod-server.yml b/.github/workflows/prod-server.yml index 8e21f83f..d4062802 100644 --- a/.github/workflows/prod-server.yml +++ b/.github/workflows/prod-server.yml @@ -85,6 +85,9 @@ jobs: -e SPRING_DATASOURCE_URL="${{secrets.PROD_DB_URL}}" \ -e SPRING_DATASOURCE_USERNAME="${{secrets.PROD_DB_USERNAME}}" \ -e SPRING_DATASOURCE_PASSWORD="${{secrets.PROD_DB_PASSWORD}}" \ + -e SPRING_RABBITMQ_HOST="${{secrets.PROD_RABBITMQ_HOST}}" \ + -e SPRING_RABBITMQ_USERNAME="${{secrets.PROD_RABBITMQ_USERNAME}}" \ + -e SPRING_RABBITMQ_PASSWORD="${{secrets.PROD_RABBITMQ_PASSWORD}}" \ ghcr.io/${{ github.repository }}/zoopzoop:latest diff --git a/.github/workflows/test-server-cd.yml b/.github/workflows/test-server-cd.yml index 9f32a143..4162dd05 100644 --- a/.github/workflows/test-server-cd.yml +++ b/.github/workflows/test-server-cd.yml @@ -62,6 +62,9 @@ jobs: -e SPRING_DATASOURCE_URL="${{secrets.TEST_DB_URL}}" \ -e SPRING_DATASOURCE_USERNAME="${{secrets.TEST_DB_USERNAME}}" \ -e SPRING_DATASOURCE_PASSWORD="${{secrets.TEST_DB_PASSWORD}}" \ + -e SPRING_RABBITMQ_HOST="${{secrets.TEST_RABBITMQ_HOST}}" \ + -e SPRING_RABBITMQ_USERNAME="${{secrets.TEST_RABBITMQ_USERNAME}}" \ + -e SPRING_RABBITMQ_PASSWORD="${{secrets.TEST_RABBITMQ_PASSWORD}}" \ ghcr.io/${{ github.repository }}/zoopzoop:latest # 헬스체크 diff --git a/build.gradle b/build.gradle index 1c8bd883..8ec30a42 100644 --- a/build.gradle +++ b/build.gradle @@ -115,6 +115,9 @@ dependencies { // Redis (Spring starter) implementation 'org.springframework.boot:spring-boot-starter-data-redis' + + // RabbitMQ + implementation 'org.springframework.boot:spring-boot-starter-amqp' } dependencyManagement { diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..fe3f28db --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,17 @@ +version: '3.8' +services: + rabbitmq: + image: rabbitmq:3-management + container_name: local-rabbitmq + ports: + - "5672:5672" # AMQP + - "15672:15672" # Management UI + environment: + RABBITMQ_DEFAULT_USER: guest + RABBITMQ_DEFAULT_PASS: guest + restart: unless-stopped + volumes: + - rabbitmq-data:/var/lib/rabbitmq + +volumes: + rabbitmq-data: diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index d60a9e48..7b594c9f 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -35,7 +35,11 @@ spring: options: model: meta-llama/llama-4-scout-17b-16e-instruct temperature: 0 - + rabbitmq: + host: ${SPRING_RABBITMQ_HOST:localhost} + port: 5672 + username: ${SPRING_RABBITMQ_USERNAME:guest} + password: ${SPRING_RABBITMQ_PASSWORD:guest} springdoc: default-produces-media-type: application/json;charset=UTF-8