Skip to content

Build and Deploy NFT Marketplace #27

Build and Deploy NFT Marketplace

Build and Deploy NFT Marketplace #27

Workflow file for this run

name: Build and Deploy NFT Marketplace
on:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
ENVIRONMENT: hackaton
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: ${{ secrets.AWS_REGION }}
KUBE_CONFIG_DATA: ${{ secrets.KUBE_CONFIG_DATA }}
KUBECTL_VERSION: 'v1.22.17'
KUBE_NAMESPACE: gear-dapps
KUBE_DEPLOYMENT_PREFIX: nft-marketplace-hackaton
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
jobs:
prepair:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
build-and-push-image:
needs: [prepair]
runs-on: ubuntu-latest
environment: hackaton
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Log in to the github container registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push image
uses: docker/build-push-action@v5
with:
file: frontend/Dockerfile
push: true
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-nft:hackaton
build-args: |
VITE_NODE_ADDRESS=${{ secrets.VITE_NODE_ADDRESS }}
VITE_IPFS_ADDRESS=${{ secrets.VITE_IPFS_ADDRESS }}
VITE_IPFS_GATEWAY_ADDRESS=${{ secrets.VITE_IPFS_GATEWAY_ADDRESS }}
VITE_CONTRACT_ADDRESS=${{ secrets.VITE_CONTRACT_ADDRESS }}
VITE_INDEXER_ADDRESS=${{ secrets.VITE_INDEXER_ADDRESS }}
VITE_INDEXER_WS_ADDRESS=${{ secrets.VITE_INDEXER_WS_ADDRESS }}
deploy-k8s:
needs: [build-and-push-image]
runs-on: ubuntu-latest
steps:
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ env.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ env.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ env.AWS_REGION }}
- name: Restart NFT
uses: sergeyfilyanin/kubectl-aws-eks@master
with:
args: rollout restart deployment nft-marketplace-hackaton -n $KUBE_NAMESPACE