+ gitignore
+ add boilerplate
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
name: Build & Deploy
|
||||
run-name: ${{ gitea.event_name }} by ${{ gitea.actor }}
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main, master, develop]
|
||||
pull_request:
|
||||
branches: [main, master]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up JDK 21
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
distribution: temurin
|
||||
java-version: 21
|
||||
|
||||
- name: Grant Gradle executable
|
||||
run: chmod +x gradlew
|
||||
|
||||
- name: Build
|
||||
run: ./gradlew --no-daemon build
|
||||
|
||||
- name: Test
|
||||
run: ./gradlew --no-daemon test
|
||||
|
||||
- name: Build distribution
|
||||
run: ./gradlew --no-daemon installDist
|
||||
|
||||
- name: Login to Container Registry
|
||||
run: echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login ${{ secrets.REGISTRY_URL }} -u "${{ secrets.REGISTRY_USER }}" --password-stdin
|
||||
|
||||
- name: Build Docker image
|
||||
run: |
|
||||
docker build -t ${{ secrets.REGISTRY_URL }}/${{ gitea.repository }}:${{ gitea.sha }} -t ${{ secrets.REGISTRY_URL }}/${{ gitea.repository }}:latest .
|
||||
|
||||
- name: Push Docker image
|
||||
run: |
|
||||
docker push ${{ secrets.REGISTRY_URL }}/${{ gitea.repository }}:${{ gitea.sha }}
|
||||
docker push ${{ secrets.REGISTRY_URL }}/${{ gitea.repository }}:latest
|
||||
|
||||
deploy:
|
||||
runs-on: ubuntu-24.04
|
||||
needs: build
|
||||
if: gitea.ref == 'refs/heads/main' || gitea.ref == 'refs/heads/master'
|
||||
steps:
|
||||
- name: Deploy via SSH
|
||||
uses: appleboy/ssh-action@v1
|
||||
with:
|
||||
host: ${{ secrets.DEPLOY_HOST }}
|
||||
port: ${{ secrets.DEPLOY_PORT || '22' }}
|
||||
username: ${{ secrets.DEPLOY_USER }}
|
||||
key: ${{ secrets.DEPLOY_SSH_KEY }}
|
||||
script: |
|
||||
set -e
|
||||
cd ${{ secrets.DEPLOY_PATH }}
|
||||
cat > .env << EOF
|
||||
REGISTRY_URL=${{ secrets.REGISTRY_URL }}
|
||||
IMAGE_NAME=${{ gitea.repository }}
|
||||
IMAGE_TAG=${{ gitea.sha }}
|
||||
DATABASE_JDBC_URL=${{ secrets.DATABASE_JDBC_URL }}
|
||||
DATABASE_USER=${{ secrets.DATABASE_USER }}
|
||||
DATABASE_PASSWORD=${{ secrets.DATABASE_PASSWORD }}
|
||||
DATABASE_POOL_SIZE=${DATABASE_POOL_SIZE:-10}
|
||||
HOST_PORT=${HOST_PORT:-8080}
|
||||
EOF
|
||||
docker compose -f docker-compose.remote.yml pull
|
||||
docker compose -f docker-compose.remote.yml up -d --remove-orphans
|
||||
docker image prune -f
|
||||
Reference in New Issue
Block a user