diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index 90f3c10..e23ac99 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -17,43 +17,49 @@ jobs: echo "Clean ref name: $CLEAN_REF_NAME" echo "CLEAN_REF_NAME=$CLEAN_REF_NAME" >> $GITEA_ENV - - name: ✏️ Rename local docker-compose file + - name: ⚙️ Configure SSH Client run: | - mv docker-compose.yml "docker-compose-${{ env.CLEAN_REF_NAME }}.yml" + sudo apt-get update && sudo apt-get install -y sshpass + mkdir -p ~/.ssh + ssh-keyscan -p 22 "${{ secrets.SSH_HOST }}" >> ~/.ssh/known_hosts - - name: 🚚 Copy docker-compose file to remote server - uses: appleboy/scp-action@v0.1.7 - with: - host: ${{ secrets.SSH_HOST }} - username: ${{ secrets.SSH_USERNAME }} - password: ${{ secrets.SSH_PASSWORD }} - port: 22 - source: "docker-compose-${{ env.CLEAN_REF_NAME }}.yml" - target: ${{ secrets.DEPLOY_DIRECTORY }} - strip_components: 0 - tar_tmp_path: /tmp + - name: 🏗️ Create docker-compose file + env: + SSHPASS: ${{ secrets.SSH_PASSWORD }} + SSH_USERNAME: ${{ secrets.SSH_USERNAME }} + SSH_HOST: ${{ secrets.SSH_HOST }} + DEPLOY_DIRECTORY: ${{ secrets.DEPLOY_DIRECTORY }} + REF_NAME: ${{ env.CLEAN_REF_NAME }} + run: | + sshpass -e ssh -p 22 "$SSH_USERNAME@$SSH_HOST" \ + "mkdir -p \"$DEPLOY_DIRECTORY\" && \ + cat > \"$DEPLOY_DIRECTORY/docker-compose-$REF_NAME.yml\"" \ + < docker-compose.yml - name: 🔐 Create secrets - uses: appleboy/ssh-action@v1.0.3 env: + SSHPASS: ${{ secrets.SSH_PASSWORD }} + SSH_USERNAME: ${{ secrets.SSH_USERNAME }} + SSH_HOST: ${{ secrets.SSH_HOST }} DEPLOY_DIRECTORY: ${{ secrets.DEPLOY_DIRECTORY }} BESZEL_AGENT_KEY: ${{ secrets.BESZEL_AGENT_KEY }} BESZEL_AGENT_TOKEN: ${{ secrets.BESZEL_AGENT_TOKEN }} GITEA_RUNNER_REGISTRATION_TOKEN: ${{ secrets._GITEA_RUNNER_REGISTRATION_TOKEN }} VAULTWARDEN_ADMIN_TOKEN: ${{ secrets.VAULTWARDEN_ADMIN_TOKEN }} - with: - host: ${{ secrets.SSH_HOST }} - username: ${{ secrets.SSH_USERNAME }} - password: ${{ secrets.SSH_PASSWORD }} - port: 22 - envs: DEPLOY_DIRECTORY,BESZEL_AGENT_KEY,BESZEL_AGENT_TOKEN,GITEA_RUNNER_REGISTRATION_TOKEN,VAULTWARDEN_ADMIN_TOKEN - script: | - set -e # Stop on error - + run: | + sshpass -e ssh -p 22 "$SSH_USERNAME@$SSH_HOST" env \ + DEPLOY_DIRECTORY="$DEPLOY_DIRECTORY" \ + BESZEL_AGENT_KEY="$BESZEL_AGENT_KEY" \ + BESZEL_AGENT_TOKEN="$BESZEL_AGENT_TOKEN" \ + GITEA_RUNNER_REGISTRATION_TOKEN="$GITEA_RUNNER_REGISTRATION_TOKEN" \ + VAULTWARDEN_ADMIN_TOKEN="$VAULTWARDEN_ADMIN_TOKEN" \ + bash -s << 'EOT' + set -e cd "$DEPLOY_DIRECTORY" - + mkdir -p secrets echo "$BESZEL_AGENT_KEY" > secrets/beszel_agent_key.txt echo "$BESZEL_AGENT_TOKEN" > secrets/beszel_agent_token.txt echo "$GITEA_RUNNER_REGISTRATION_TOKEN" > secrets/gitea_runner_registration_token.txt echo "$VAULTWARDEN_ADMIN_TOKEN" > secrets/vaultwarden_admin_token.txt + EOT