Olá pessoal, tudo bom?
Tenho uma dúvida, que não é bem uma dúvida e sim mais uma necessidade de validação. Eu tenho um projeto que configurei o CD para fazer deploy em um servidor (que não é Vercel) que roda o node.js por meio do Passenger. Eu notei que ele tem apresentado uns comportamentos meio diferentes em relação ao comportamento que teria na Vercel, e não sei se estou fazendo alguma bobagem durante o processo de Deployment.
Vou colocar aqui o trecho do yml que faz o delivery, se alguém tiver alguma sugestão ou notar algo faltando no processo, fico grato se receber algum apoio (ps.: o projeto nextjs fica num subfolder chamado frontend):
deploy-app:
runs-on: ubuntu-latest
name: Build and Deploy APP
steps:
- uses: actions/checkout@v3
- name: Bucket actions
uses: actions/setup-node@v3
with:
node-version: '12.22.12'
- name: Installing packages
run: yarn install
working-directory: ./frontend
- name: Setup .env file - Copy from sample
run: cp .env.sample .env
working-directory: ./frontend
- name: Setup .env file - Set NODE_ENV to prod
run: sed -i 's/<node_env>/prod/' .env
working-directory: ./frontend
- name: Setup .env file - Set PORT to 80
run: sed -i 's/<app_port>/80/' .env
working-directory: ./frontend
- name: Setup .env file - Set API_URL to https://wpdesafiob-api.mastelari.ml
run: sed -i 's/<api_url>/'"'"'https\:\/\/wpdesafiob\-api\.mastelari\.ml'"'"'/' .env
working-directory: ./frontend
- name: Setup .env file - Set AUTH0 environment variables - DISABLED_AUTH0
run: |
sed -i 's/<disabled_auth0>/ 0/' .env
working-directory: ./frontend
- name: Setup .env file - Set AUTH0 environment variables - AUTH0_CLIENT_ID
run: |
sed -i 's/<auth0_client_id>/'"'"'${{ secrets.DH_MASTELARI_AUTH0_CLIENT_ID }}'"'"'/' .env
working-directory: ./frontend
- name: Setup .env file - Set AUTH0 environment variables - AUTH0_CLIENT_SECRET
run: |
sed -i 's/<auth0_client_secret>/'"'"'${{ secrets.DH_MASTELARI_AUTH0_CLIENT_SECRET }}'"'"'/' .env
working-directory: ./frontend
- name: Setup .env file - Set AUTH0 environment variables - AUTH0_AUDIENCE
run: |
sed -i 's/<auth0_audience>/${{ secrets.DH_MASTELARI_AUTH0_APP_AUDIENCE }}/' .env
working-directory: ./frontend
- name: Setup .env file - Set AUTH0 environment variables - AUTH0_SUBDOMAIN
run: |
sed -i 's/<auth0_subdomain>/${{ secrets.DH_MASTELARI_AUTH0_SUBDOMAIN }}/' .env
working-directory: ./frontend
- name: Setup .env file - Set AUTH0 environment variables - AUTH0_REGION
run: |
sed -i 's/<auth0_region>/${{ secrets.DH_MASTELARI_AUTH0_REGION }}/' .env
working-directory: ./frontend
- name: Building
run: yarn build
working-directory: ./frontend
- name: Packaging
run: tar --exclude={".env.sample",".env.local","README.md","next-env.d.ts","jest.config.ts",".eslintrc.json","__tests__",".next","node_modules",".swc","coverage","out"} -zcvf ../build-content.tar.gz .
working-directory: ./frontend
- name: Publishing
uses: ArthurYdalgo/github-action-scp@master
with:
host: ${{ secrets.DH_MASTELARI_SSHHOST }}
username: ${{ secrets.DH_MASTELARI_SSHUSER }}
password : ${{ secrets.DH_MASTELARI_SSHPASSWORD }}
port: ${{ secrets.DH_MASTELARI_SSHPORT }}
local: "build-content.tar.gz"
remote: "wpdesafiob.mastelari.ml/build-content.tar.gz"
- name: Post-publishing actions
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.DH_MASTELARI_SSHHOST }}
username: ${{ secrets.DH_MASTELARI_SSHUSER }}
password : ${{ secrets.DH_MASTELARI_SSHPASSWORD }}
port: ${{ secrets.DH_MASTELARI_SSHPORT }}
script_stop: true
script: |
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
cd ~/wpdesafiob.mastelari.ml
tar -zxvf build-content.tar.gz
rm build-content.tar.gz
yarn install
yarn build
touch tmp/restart.txt