59 lines
1.7 KiB
YAML
59 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: 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
|