Skip to content

Instantly share code, notes, and snippets.

@vatthikorn
Created November 26, 2022 18:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vatthikorn/552ae875688aa66262a41e9a6a7bf625 to your computer and use it in GitHub Desktop.
Save vatthikorn/552ae875688aa66262a41e9a6a7bf625 to your computer and use it in GitHub Desktop.
name: Deploy Estel
on:
push:
branches: [ "main" ]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
with:
distribution: corretto
java-version: 11
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_PRIVATE_KEY }}
known_hosts: unnecessary
- name: Add Known Hosts
run: ssh-keyscan -p ${{ secrets.SSH_PORT}} -H ${{ secrets.HOST }} >> ~/.ssh/known_hosts
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
- name: Execute Gradle build
run: ./gradlew build
- name: Build the Docker image
run: docker build . --file Dockerfile --tag estel
- name: Create tar archive
run: docker save --output estel.tar estel
- name: scp tar archive
run: scp estel.tar ${{ secrets.SSH_USER }}@${{ secrets.HOST }}:/home/estel/docker-images/estel.tar
- name: Execute remote commands to deploy the image
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.SSH_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
port: ${{ secrets.SSH_PORT }}
script: |
docker load --input docker-images/estel.tar
cd /home/estel/estel
git fetch && git pull
docker-compose up -d
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment