This repository has been archived on 2024-09-09. You can view files and clone it, but cannot push or open issues or pull requests.
learningpulse/.forgejo/workflows/build_deploy_dev copy.yml
2024-09-05 17:50:27 +02:00

62 lines
1.7 KiB
YAML

name: Build docker images, publish them, deploy to test server
on:
push:
branches: ["dev"]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Restore cached Primes
id: maven-cache-restore
uses: https://github.com/actions/cache/restore@v4
with:
key: linux-maven
path: ~/.m2/repository
- uses: https://github.com/actions/checkout@v4
with:
repository: 'learningpulse/server'
ref: 'dev'
token: '${{ secrets.token }}'
- name: 'Set up java 22'
uses: https://github.com/actions/setup-java@v4
with:
java-version: "22"
distribution: "temurin"
cache: maven
- name: Setup maven
if: steps.maven-cache.outputs.cache-hit != 'true'
uses: https://github.com/stCarolas/setup-maven@v5
with:
maven-version: 3.9.6
- name: Goto server
run: cd server
- name: Build with Maven
run: mvn -Dtoken=${{ secrets.token }} clean compile jib:build -e
- name: Cache local Maven repository
uses: https://github.com/actions/cache/save@v4
id: maven-cache-save
with:
path: ~/.m2/repository
key: linux-maven
restore-keys: |
linux-maven
# TODO trigger pull with docker
- name: executing remote ssh commands using ssh key
uses: https://github.com/appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.KEY }}
port: ${{ secrets.PORT }}
script: cd services/server && git fetch --all && git reset --hard origin/dev && docker compose pull && docker compose up -d