From c21f75f86c93a8fd5b60e72b7d3479ce09a780f6 Mon Sep 17 00:00:00 2001 From: mroxso <24775431+mroxso@users.noreply.github.com> Date: Wed, 31 Jul 2024 16:54:17 +0200 Subject: [PATCH] update cd (#2) --- .../workflows/{docker-image.yml => cd.yml} | 44 +++++++++++++++---- 1 file changed, 35 insertions(+), 9 deletions(-) rename .github/workflows/{docker-image.yml => cd.yml} (52%) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/cd.yml similarity index 52% rename from .github/workflows/docker-image.yml rename to .github/workflows/cd.yml index 6ee249e..3071358 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/cd.yml @@ -1,4 +1,4 @@ -name: Docker Build and Push +name: Continous Deplyoment on: workflow_dispatch: @@ -10,6 +10,8 @@ on: env: REGISTRY_NAME: ghcr.io IMAGE_NAME: lumina + MAIN_HOST: ${{ secrets.MAIN_HOST }} + MAIN_HOST_USERNAME: ${{ secrets.MAIN_HOST_USERNAME }} jobs: # ci: @@ -21,23 +23,23 @@ jobs: name: Build and Push runs-on: ubuntu-latest steps: - - name: Check out the repo + - name: Check out the repo 🛎️ uses: actions/checkout@v4 - - name: Set up QEMU + - name: Set up QEMU 🐳 uses: docker/setup-qemu-action@v3 - - name: Set up Docker Buildx + - name: Set up Docker Buildx 🐳 uses: docker/setup-buildx-action@v3 - - name: Login to GitHub Container Registry + - name: Login to GitHub Container Registry 🎫 uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Collecting Metadata + - name: Collecting Metadata 🏷️ id: meta uses: docker/metadata-action@v5 with: @@ -46,7 +48,7 @@ jobs: type=raw,value=latest,enable={{is_default_branch}} type=ref,event=branch - - name: Building And Pushing Image + - name: Building And Pushing Image 🚀 id: docker_build uses: docker/build-push-action@v6 with: @@ -57,5 +59,29 @@ jobs: tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} - - name: Image digest - run: echo ${{ steps.docker_build.outputs.digest }} \ No newline at end of file + - name: Image digest 📋 + run: echo ${{ steps.docker_build.outputs.digest }} + + deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout code 🛎️ + uses: actions/checkout@v4 + + - name: Setup SSH 🔑 + run: | + mkdir -p ~/.ssh + echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa + chmod 600 ~/.ssh/id_rsa + ssh-keyscan -H ${{ env.MAIN_HOST }} >> ~/.ssh/known_hosts + env: + SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + + - name: Deploy 🚀 + run: | + ssh -o StrictHostKeyChecking=no ${{ env.MAIN_HOST_USERNAME }}@${{ env.MAIN_HOST }} ' + cd lumina && + git pull origin main && + docker-compose up -d --build + '