chore: deployment #1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Deploy to Digital Ocean | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
deploy: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Set up Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: 1.21.0 | |
- name: Build | |
run: GOARCH=arm64 GOOS=linux go build -mod=mod -o build/ . | |
- name: Build docker image | |
run: docker build -t thisisprince/web3-house-strategies:latest . | |
- name: Login to Docker Hub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Push image | |
run: docker push thisisprince/web3-house-strategies:latest | |
- name: SSH into Digital Ocean Droplet | |
uses: appleboy/ssh-action@master | |
with: | |
host: ${{ secrets.DROPLET_HOST }} | |
username: ${{ secrets.DROPLET_USERNAME }} | |
password: ${{ secrets.DROPLET_PASSWORD }} | |
script: | | |
docker login -u ${{ secrets.DOCKERHUB_USERNAME }} -p ${{ secrets.DOCKERHUB_TOKEN }} | |
docker stop strategiesGo || true | |
docker rm strategiesGo || true | |
docker rmi thisisprince/web3-house-strategies || true | |
docker pull thisisprince/web3-house-strategies:latest | |
docker run -d --name strategiesGo -p 8080:8080 thisisprince/web3-house-strategies:latest |