From 8f5bc494b12ec9d05edf95cf3ff6192554e438e0 Mon Sep 17 00:00:00 2001 From: Florian THIERRY Date: Wed, 23 Jul 2025 22:15:35 +0200 Subject: [PATCH 1/5] add workflow --- .gitea/workflows/build-and-deploy.yml | 76 +++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 .gitea/workflows/build-and-deploy.yml diff --git a/.gitea/workflows/build-and-deploy.yml b/.gitea/workflows/build-and-deploy.yml new file mode 100644 index 0000000..07afb1c --- /dev/null +++ b/.gitea/workflows/build-and-deploy.yml @@ -0,0 +1,76 @@ +name: Build and Deploy Java Gradle Application + +on: + push: + branches: + - main + - gitea-actions + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + steps: + - name: 📄 Checkout code + uses: actions/checkout@v4 + + - name: 📄 Checkout configuration + env: + SSH_PRIVATE_KEY: ${{ secrets.PROD_PROPERTIES_SSH_KEY }} + run: | + mkdir -p ~/.ssh + echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa + chmod 600 ~/.ssh/id_rsa + git clone ssh://gitea@gitea.takiguchi.ovh:12960/Codiki/codiki-properties.git --config core.sshCommand='ssh -o StrictHostKeyChecking=no' + + - name: 📄 Edit configuration + run: | + sed -i "s//$(cat ./codiki-properties/passwords/postgresql/codiki_user)/g" ./codiki-properties/application-prod.yml + cp ./codiki-properties/application-prod.yml ./backend/codiki-launcher/src/main/resources/application.yml + sed -i "s//$(cat ./codiki-properties/passwords/postgresql/codiki_admin)/g" ./docker-compose.yml + + - name: 🔨 Build backend docker image + run: | + sudo /usr/bin/docker build -t codiki-backend -f ./Dockerfile-backend . --no-cache + + - name: 📦 Extract backend docker image into archive + run: | + sudo /usr/bin/docker save codiki-backend:latest -o ./codiki-backend.tar + + - name: 🔨 Build frontend docker image + run: | + sudo /usr/bin/docker build -t codiki-frontend -f ./Dockerfile-frontend . --no-cache + + - name: 📦 Extract frontend docker image into archive + run: | + sudo /usr/bin/docker save codiki-frontend:latest -o ./codiki-frontend.tar + + - name: 📤 Transfer artifacts to remote server + env: + SSH_PRIVATE_KEY: ${{ secrets.PROD_SSH_PRIVATE_KEY }} + REMOTE_USER: ${{ secrets.PROD_REMOTE_USER }} + REMOTE_HOST: ${{ secrets.PROD_REMOTE_HOST }} + REMOTE_PORT: ${{ secrets.PROD_REMOTE_PORT }} + REMOTE_PATH: ${{ secrets.PROD_REMOTE_PATH }} + run: | + mkdir -p ~/.ssh + echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa + chmod 600 ~/.ssh/id_rsa + scp -o StrictHostKeyChecking=no -P $REMOTE_PORT ./codiki-backend.tar $REMOTE_USER@$REMOTE_HOST:$REMOTE_PATH + scp -o StrictHostKeyChecking=no -P $REMOTE_PORT ./codiki-frontend.tar $REMOTE_USER@$REMOTE_HOST:$REMOTE_PATH + scp -o StrictHostKeyChecking=no -P $REMOTE_PORT ./docker-compose.yml $REMOTE_USER@$REMOTE_HOST:$REMOTE_PATH + + - name: 🚀 Launch application onto remote server + env: + SSH_PRIVATE_KEY: ${{ secrets.PROD_SSH_PRIVATE_KEY }} + REMOTE_USER: ${{ secrets.PROD_REMOTE_USER }} + REMOTE_HOST: ${{ secrets.PROD_REMOTE_HOST }} + REMOTE_PORT: ${{ secrets.PROD_REMOTE_PORT }} + REMOTE_PATH: ${{ secrets.PROD_REMOTE_PATH }} + run: | + ssh -o StrictHostKeyChecking=no $REMOTE_HOST -l $REMOTE_USER -p $REMOTE_PORT << EOC + cd $REMOTE_PATH + sudo /usr/bin/docker load < $REMOTE_PATH/codiki-backend.tar + sudo /usr/bin/docker load < $REMOTE_PATH/codiki-frontend.tar + sudo /usr/bin/docker compose down + sudo /usr/bin/docker compose up --detach + EOC \ No newline at end of file -- 2.47.3 From 9d2a698d916839ecff1f011d1df2fcaae85a4052 Mon Sep 17 00:00:00 2001 From: Florian THIERRY Date: Wed, 23 Jul 2025 22:26:56 +0200 Subject: [PATCH 2/5] fix secret variable --- .gitea/workflows/build-and-deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/build-and-deploy.yml b/.gitea/workflows/build-and-deploy.yml index 07afb1c..f1bb7d9 100644 --- a/.gitea/workflows/build-and-deploy.yml +++ b/.gitea/workflows/build-and-deploy.yml @@ -15,7 +15,7 @@ jobs: - name: 📄 Checkout configuration env: - SSH_PRIVATE_KEY: ${{ secrets.PROD_PROPERTIES_SSH_KEY }} + SSH_PRIVATE_KEY: ${{ secrets.PROD_SSH_PRIVATE_KEY }} run: | mkdir -p ~/.ssh echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa -- 2.47.3 From 5067c1f09bd138cf02cb3cb21bfa8786f5869580 Mon Sep 17 00:00:00 2001 From: Florian THIERRY Date: Wed, 23 Jul 2025 22:41:24 +0200 Subject: [PATCH 3/5] test --- .gitea/workflows/build-and-deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/build-and-deploy.yml b/.gitea/workflows/build-and-deploy.yml index f1bb7d9..07afb1c 100644 --- a/.gitea/workflows/build-and-deploy.yml +++ b/.gitea/workflows/build-and-deploy.yml @@ -15,7 +15,7 @@ jobs: - name: 📄 Checkout configuration env: - SSH_PRIVATE_KEY: ${{ secrets.PROD_SSH_PRIVATE_KEY }} + SSH_PRIVATE_KEY: ${{ secrets.PROD_PROPERTIES_SSH_KEY }} run: | mkdir -p ~/.ssh echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa -- 2.47.3 From e7f9df658a151c4bdac6c46996dd241fccb3a098 Mon Sep 17 00:00:00 2001 From: Florian THIERRY Date: Wed, 23 Jul 2025 22:54:48 +0200 Subject: [PATCH 4/5] test --- .gitea/workflows/build-and-deploy.yml | 2 +- Dockerfile-backend | 2 +- Dockerfile-frontend | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/build-and-deploy.yml b/.gitea/workflows/build-and-deploy.yml index 07afb1c..39dd0ce 100644 --- a/.gitea/workflows/build-and-deploy.yml +++ b/.gitea/workflows/build-and-deploy.yml @@ -20,7 +20,7 @@ jobs: mkdir -p ~/.ssh echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa - git clone ssh://gitea@gitea.takiguchi.ovh:12960/Codiki/codiki-properties.git --config core.sshCommand='ssh -o StrictHostKeyChecking=no' + git clone -b hexagonal-reforged ssh://gitea@gitea.takiguchi.ovh:12960/Codiki/codiki-properties.git --config core.sshCommand='ssh -o StrictHostKeyChecking=no' - name: 📄 Edit configuration run: | diff --git a/Dockerfile-backend b/Dockerfile-backend index 5d8b040..980f206 100644 --- a/Dockerfile-backend +++ b/Dockerfile-backend @@ -1,4 +1,4 @@ -FROM maven:3.9.9-eclipse-temurin-21 AS builder +FROM maven:3.9.11-eclipse-temurin-21 AS builder WORKDIR /app COPY backend/pom.xml /app/ COPY backend/codiki-application /app/codiki-application diff --git a/Dockerfile-frontend b/Dockerfile-frontend index 7b6411a..0e4eba8 100644 --- a/Dockerfile-frontend +++ b/Dockerfile-frontend @@ -1,11 +1,11 @@ -FROM node:22-alpine AS builder +FROM node:24-alpine AS builder WORKDIR /app COPY frontend /app RUN npm install RUN npm run build-prod-en RUN npm run build-prod-fr -FROM nginx:1.27-alpine AS final +FROM nginx:1.29-alpine AS final WORKDIR /app COPY --from=builder /app/dist/codiki/en/browser /usr/share/nginx/html/en/ COPY --from=builder /app/dist/codiki/fr/browser/fr /usr/share/nginx/html/fr/ -- 2.47.3 From d1aa88a7761c70dccb2dc5297f0fbe7acc8b413d Mon Sep 17 00:00:00 2001 From: Florian THIERRY Date: Wed, 23 Jul 2025 22:58:55 +0200 Subject: [PATCH 5/5] test --- .gitea/workflows/build-and-deploy.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitea/workflows/build-and-deploy.yml b/.gitea/workflows/build-and-deploy.yml index 39dd0ce..8efd101 100644 --- a/.gitea/workflows/build-and-deploy.yml +++ b/.gitea/workflows/build-and-deploy.yml @@ -4,7 +4,6 @@ on: push: branches: - main - - gitea-actions jobs: build-and-deploy: -- 2.47.3