diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml new file mode 100644 index 0000000..ea11623 --- /dev/null +++ b/.gitea/workflows/deploy.yml @@ -0,0 +1,26 @@ +name: Deploy files +run-name: ${{ gitea.actor }} is deployeing files +on: [push] + +jobs: + update-stack: + runs-on: stack-runner + steps: + - name: System update and upgrade + run: | + apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y ssh rsync + - name: Create SSH private key + run: | + mkdir -p .ssh/ && \ + echo "${secrets.SSH_PRIV_KEY}" > .ssh/id_rsa && \ + chmod 600 .ssh/id_rsa + - name: Retrieve Git serveur hostname and port + env: + SRV_URL: ${{gitea.server_url}} + run: echo "SRV_HOST_PORT=${SRV_URL#*//}" >> $GITEA_ENV + - name: Respository clone + run: git clone http://${{secrets.STACK_UPDATER_USER}}:${{secrets.STACK_UPDATER_TOKEN}}@${{env.SRV_HOST_PORT}}/${{gitea.repository}}.git ./repo + - name: Deploy files + run: rsync -e "ssh -o StrictHostKeyChecking=accept-new -i .ssh/id_rsa -p ${secrets.SSH_PORT} -l ${secrets.SSH_USER}" -avzr --delete --exclude=".git/*" --exclude=".gitea/*" ./ ${secrets.SSH_HOST}:/