Co-authored-by: Rodrigo Verdiani <rocverdiani@gmail.com> Co-committed-by: Rodrigo Verdiani <rocverdiani@gmail.com>
This commit is contained in:
parent
0f448f3d6d
commit
fdedf8b712
69
.woodpecker/.pipeline.yaml
Normal file
69
.woodpecker/.pipeline.yaml
Normal file
@ -0,0 +1,69 @@
|
||||
# .pipeline.yml
|
||||
# -----------------
|
||||
# Build, publish, and deploy Java Spring Boot app
|
||||
|
||||
when:
|
||||
event: [ push, pull_request ]
|
||||
|
||||
steps:
|
||||
- name: test
|
||||
image: maven:3.9.11-eclipse-temurin-25
|
||||
commands:
|
||||
- echo "🧪 Building and testing Spring Boot app..."
|
||||
- mvn -B clean verify
|
||||
when:
|
||||
event: [ pull_request, push ]
|
||||
branch: [ main, develop, feat/*, feature/* ]
|
||||
|
||||
- name: publish-image
|
||||
depends_on: [ test ]
|
||||
image: woodpeckerci/plugin-docker-buildx
|
||||
settings:
|
||||
platforms: linux/amd64
|
||||
repo: git.badger-pirarucu.ts.net/mangamochi/backend
|
||||
registry: git.badger-pirarucu.ts.net
|
||||
dockerfile: Dockerfile
|
||||
context: .
|
||||
username:
|
||||
from_secret: DOCKER_USER
|
||||
password:
|
||||
from_secret: DOCKER_PASSWORD
|
||||
tags:
|
||||
- latest
|
||||
- ${CI_COMMIT_SHA}
|
||||
when:
|
||||
event: [ push ]
|
||||
branch: [ main ]
|
||||
|
||||
- name: deploy
|
||||
depends_on: [ publish-image ]
|
||||
image: alpine:3.20
|
||||
environment:
|
||||
DEPLOY_USER: rov
|
||||
DEPLOY_HOST: mangamochi.badger-pirarucu.ts.net
|
||||
DEPLOY_PORT: 22
|
||||
IMAGE: git.badger-pirarucu.ts.net/mangamochi/backend:${CI_COMMIT_SHA}
|
||||
DEPLOY_SSH_KEY:
|
||||
from_secret: DEPLOY_SSH_KEY
|
||||
commands:
|
||||
- echo "🚀 Deploying to $DEPLOY_HOST..."
|
||||
- apk add --no-cache openssh-client docker-cli
|
||||
- mkdir -p ~/.ssh
|
||||
- echo "$DEPLOY_SSH_KEY" > ~/.ssh/id_rsa
|
||||
- chmod 600 ~/.ssh/id_rsa
|
||||
- ssh-keyscan -p $DEPLOY_PORT $DEPLOY_HOST >> ~/.ssh/known_hosts
|
||||
- >
|
||||
ssh -p $DEPLOY_PORT $DEPLOY_USER@$DEPLOY_HOST "
|
||||
docker pull $IMAGE &&
|
||||
docker stop mangamochi 2>/dev/null || true &&
|
||||
docker rm mangamochi 2>/dev/null || true &&
|
||||
docker run -d --name mangamochi-backend \
|
||||
--restart always \
|
||||
--network host \
|
||||
--env-file /home/rov/mangamochi/.env \
|
||||
-p 8080:8080 \
|
||||
$IMAGE
|
||||
"
|
||||
when:
|
||||
event: [ push ]
|
||||
branch: [ main ]
|
||||
@ -13,4 +13,4 @@ WORKDIR /app
|
||||
COPY --from=builder /app/target/*.jar app.jar
|
||||
|
||||
EXPOSE 8080
|
||||
ENTRYPOINT ["java, "-jar", "/app/app.jar"]
|
||||
ENTRYPOINT ["java", "-jar", "/app/app.jar"]
|
||||
|
||||
@ -1,22 +1,10 @@
|
||||
package com.magamochi.mangamochi;
|
||||
|
||||
import com.magamochi.mangamochi.client.JikanClient;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.log4j.Log4j2;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||
|
||||
@Log4j2
|
||||
@SpringBootTest
|
||||
@RequiredArgsConstructor
|
||||
@EnableFeignClients
|
||||
class MangamochiApplicationTests {
|
||||
private final JikanClient jikanClient;
|
||||
|
||||
@Test
|
||||
void testJikan() {
|
||||
var response = jikanClient.mangaSearch("Saint Seiya");
|
||||
log.info(response.toString());
|
||||
}
|
||||
}
|
||||
class MangamochiApplicationTests {}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user