diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index bccc7ab..c0b1d3f 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -3,24 +3,40 @@ name: Deploy to VM Prod on: push: branches: - - main # déclenche le déploiement quand tu push sur main + - main jobs: deploy: - runs-on: self-hosted # ton runner VM code-server + runs-on: self-hosted steps: - name: Checkout repository uses: actions/checkout@v3 - name: Deploy to production run: | + REPO_NAME=${{ github.event.repository.name }} + + # Préparer le contenu du .env (vide si secret non défini) + if [ -z "${{ secrets.ENV_FILE }}" ]; then + ENV_CONTENT="" + else + ENV_CONTENT="${{ secrets.ENV_FILE }}" + fi + ssh ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} " - mkdir -p ${{ secrets.DEPLOY_PATH }} - cd ${{ secrets.DEPLOY_PATH }} + mkdir -p /srv/$REPO_NAME + cd /srv/$REPO_NAME + + # Crée .env seulement si contenu non vide + if [ -n \"$ENV_CONTENT\" ]; then + echo \"$ENV_CONTENT\" > .env + fi + if [ ! -d .git ]; then - git clone https://github.com/arthur-pbty/links . + git clone https://github.com/arthur-pbty-labs/$REPO_NAME . else git pull origin main fi + docker compose up -d --build "