Skip to content

Commit

Permalink
feat: use common CD
Browse files Browse the repository at this point in the history
  • Loading branch information
omidasadpour committed Mar 12, 2024
1 parent 12b9ec1 commit 68f6c60
Showing 1 changed file with 41 additions and 124 deletions.
165 changes: 41 additions & 124 deletions .github/workflows/build-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -155,129 +155,46 @@ jobs:
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
# prod_deploy:
# name: prod-deploy
# needs: front_build
# runs-on: ubuntu-latest
# if: ${{ github.ref == 'refs/heads/main' }}
# steps:
# - name: Checkout main
# uses: actions/checkout@v4

# - name: Extract branch name
# shell: bash
# run: echo "name=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV
# id: extract_branch

# - name: Install doctl
# uses: digitalocean/action-doctl@v2
# with:
# token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN_PROD }}

# - name: Save DigitalOcean kubeconfig with short-lived credentials
# run: doctl kubernetes cluster kubeconfig save --expiry-seconds 600 ${{ secrets.K8S_PROD }}

# - name: Update deploy file
# run: TAG=${{ env.name }}-$(echo $GITHUB_SHA | head -c7) && sed -i 's|<IMAGE>|dappforce/subsocial-web-app:grillchat-'${TAG}'|' $GITHUB_WORKSPACE/deployment/production/deployment.yaml

# - name: Deploy to DigitalOcean Kubernetes
# run: kubectl apply -f $GITHUB_WORKSPACE/deployment/production/

# - name: Verify deployment
# run: kubectl -n sub-back rollout status deployment/grillchat

# - name: Add more replica
# run: kubectl -n sub-back scale --replicas=2 deployment/grillchat

# mainnet-prod_deploy:
# name: mainnet-prod-deploy
# needs: mainnet_front_build
# runs-on: ubuntu-latest
# if: ${{ github.ref == 'refs/heads/main' }}
# steps:
# - name: Checkout main
# uses: actions/checkout@v4

# - name: Extract branch name
# shell: bash
# run: echo "name=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV
# id: extract_branch

# - name: Install doctl
# uses: digitalocean/action-doctl@v2
# with:
# token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN_PROD }}

# - name: Save DigitalOcean kubeconfig with short-lived credentials
# run: doctl kubernetes cluster kubeconfig save --expiry-seconds 600 ${{ secrets.K8S_PROD }}

# - name: Update deploy file
# run: TAG=${{ env.name }}-$(echo $GITHUB_SHA | head -c7) && sed -i 's|<IMAGE>|dappforce/subsocial-web-app:mainnet-grillchat-'${TAG}'|' $GITHUB_WORKSPACE/deployment/mainnet-production/deployment.yaml

# - name: Deploy to DigitalOcean Kubernetes
# run: kubectl apply -f $GITHUB_WORKSPACE/deployment/mainnet-production/

# - name: Verify deployment
# run: kubectl -n sub-back rollout status deployment/mainnet-grillchat

# - name: Add more replica
# run: kubectl -n sub-back scale --replicas=2 deployment/mainnet-grillchat

# front-bk-prod-deploy:
# name: bk-prod-deploy
# needs: front_build
# runs-on: ubuntu-latest
# if: ${{ github.ref == 'refs/heads/main' }}
# steps:
# - name: Checkout main
# uses: actions/checkout@v4

# - name: Extract branch name
# shell: bash
# run: echo "name=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV
# id: extract_branch

# - name: executing remote ssh commands
# uses: appleboy/ssh-action@master
# with:
# host: ${{ secrets.BACKUP_HOST }}
# username: ${{ secrets.BACKUP_USERNAME }}
# key: ${{ secrets.BACKUP_KEY }}
# port: ${{ secrets.BACKUP_PORT }}
# script: |
# cd /root/grillchat
# ./update.sh

# storybook_deploy:
# name: storybook-prod-deploy
# needs: front_build
# runs-on: ubuntu-latest
# if: ${{ github.ref == 'refs/heads/storybook' }}
# steps:
# - name: Checkout main
# uses: actions/checkout@v4

# - name: Extract branch name
# shell: bash
# run: echo "name=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV
# id: extract_branch

# - name: Install doctl
# uses: digitalocean/action-doctl@v2
# with:
# token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN_PROD }}

# - name: Save DigitalOcean kubeconfig with short-lived credentials
# run: doctl kubernetes cluster kubeconfig save --expiry-seconds 600 ${{ secrets.K8S_PROD }}

# - name: Update deploy file
# run: TAG=${{ env.name }}-$(echo $GITHUB_SHA | head -c7) && sed -i 's|<IMAGE>|dappforce/subsocial-web-app:grillchat-'${TAG}'|' $GITHUB_WORKSPACE/deployment/storybook/deployment.yaml

# - name: Deploy to DigitalOcean Kubernetes
# run: kubectl apply -f $GITHUB_WORKSPACE/deployment/storybook/
front_deploy:
strategy:
matrix:
apps: [main, test, deploy]
isMaster:
- ${{ contains(github.ref, 'main') }}
isDeploy:
- ${{ startsWith(github.ref, 'refs/heads/feat/') }}
exclude:
- isMaster: false
apps: main
- isMaster: false
apps: test
- isMaster: true
apps: deploy
name: deploy ${{ matrix.apps }}
runs-on: ubuntu-latest
needs: front_build
steps:
- name: Checkout
uses: actions/checkout@v4

# - name: Verify deployment
# run: kubectl -n sub-back rollout status deployment/grillchat-storybook
- name: prod deploy ${{ matrix.apps }}
if: github.ref == 'refs/heads/main'
uses: './.github/actions/common-cd-setup'
with:
token_input: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN_PROD }}
k8s_input: ${{ secrets.K8S_PROD }}
app_input: ${{ matrix.apps }}
zone_input: ${{ secrets.CF_ZONE }}
mail_input: ${{ secrets.CF_MAIL }}
tokens_input: ${{ secrets.CF_TOKEN }}

# - name: Verify deployment
# run: kubectl -n sub-back rollout status deployment/grillchat-storybook
- name: stage deploy ${{ matrix.apps }}
if: startsWith(github.ref, 'refs/heads/feat/')
uses: './.github/actions/common-cd-setup'
with:
token_input: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN_STAGING }}
k8s_input: ${{ secrets.K8S_STAGING }}
app_input: ${{ matrix.apps }}
zone_input: ${{ secrets.CF_ZONE }}
mail_input: ${{ secrets.CF_MAIL }}
tokens_input: ${{ secrets.CF_TOKEN }}

0 comments on commit 68f6c60

Please sign in to comment.