Skip to content

Added tests

Added tests #19

Workflow file for this run

name: Deploy
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Install Docker Compose
run: |
sudo apt-get update
sudo apt-get install -y docker-compose
- name: Run tests
run: go test -v ./...
- name: Build Docker image
run: docker-compose build
- name: List Docker images
run: docker images
- name: Tag Docker image
run: docker tag pavelveter/urlshortener latest
- name: Login to Docker Hub
run: |
echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
- name: Push Docker image to Docker Hub
run: docker push pavelveter/urlshortener:latest
- name: Deploy to vps
run: |
echo "${{ secrets.SSH_PRIVATE_KEY }}" > private_key.pem
chmod 600 private_key.pem
ssh -i private_key.pem -p ${{ secrets.VPS_PORT }} -o StrictHostKeyChecking=no ${{ secrets.VPS_USER }}@${{ secrets.VPS_HOST }} "cd /home/good/shortener && docker-compose pull && docker-compose up -d"
rm private_key.pem