Skip to content

BUILD - test ci/cd

BUILD - test ci/cd #30

Workflow file for this run

name: Deploy prod-minddaily-frontend
on:
push:
branches: [ "main" ]
jobs:
# build:
# name: Build image
# runs-on: ubuntu-latest
#
# steps:
# - name: Checkout code
# uses: actions/checkout@v3
#
# - name: Build Docker image
# run: |
# docker build . --tag ${{ secrets.DOCKER_REGISTRY }}/${{ secrets.DOCKER_IMAGE_NAME }}
#
# - name: Publish Docker image
# run: |
# docker login -u ${{ secrets.DOCKER_REGISTRY }} -p ${{ secrets.DOCKER_HUB_TOKEN }}
# docker push ${{ secrets.DOCKER_REGISTRY }}/${{ secrets.DOCKER_IMAGE_NAME }}
deploy:
# needs: build
name: Deploy image
runs-on: ubuntu-latest
steps:
- name: Write SSH keys
run: |
install -m 600 -D /dev/null ~/.ssh/id_rsa
echo "${{ secrets.SSHKEY }}" > ~/.ssh/id_rsa
host='${{ secrets.HOST }}'
hosts="$(dig +short "$host" | grep -v '\.$' | sed -z 's|\n|,|g')$host"
ssh-keyscan -H "$hosts" > ~/.ssh/known_hosts
- name: Connect and pull
run: ssh ${{ secrets.USERNAME }}@${{ secrets.HOST }} "cd ${{ secrets.WORK_DIR }} && docker compose pull && docker compose up -d && exit"
- name: Cleanup
run: rm -rf ~/.ssh
# - name: Save Docker image as tar file
# run: |
# docker save -o prod-minddaily-image.tar prod-minddaily-image:latest-prod
# chmod 664 prod-minddaily-image.tar
# - name: Transfer Docker image to remote server
# uses: appleboy/scp-action@master
# with:
# host: ${{ secrets.HOST }}
# port: ${{ secrets.PORT }}
# username: ${{ secrets.USERNAME }}
# key: ${{ secrets.SSHKEY }}
# source: "prod-minddaily-image.tar"
# target: "/home/ubuntu/production-images/"
#
# - name: Executing remote command
# uses: appleboy/ssh-action@master
# with:
# host: ${{ secrets.HOST }}
# username: ${{ secrets.USERNAME }}
# key: ${{ secrets.SSHKEY }}
# port: ${{ secrets.PORT}}
# source: '.'
# command_timeout: 10m
# script: ls