diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index e36088b..4c535e7 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -37,10 +37,23 @@ jobs: # voor containeracties niet volledig ondersteunt. Een scp-commando # in een normale run-stap heeft die geneste container niet nodig. - name: Upload dist to ${{ inputs.environment }} web server via SCP + env: + # Secrets via env: in plaats van rechtstreeks in het `run:`-script + # ge-interpoleerd: Gitea Actions plakt ${{ secrets.* }} als platte + # tekst in het script vóórdat bash het uitvoert. Staat er een + # shell-metateken in de waarde (zoals '$' of '`'), dan probeert + # bash dat alsnog te interpreteren, waardoor een ander wachtwoord + # bij sshpass terechtkomt dan verwacht ("Permission denied"). Via + # env: krijgt bash de waarde als kant-en-klare string doorgegeven, + # zonder die tweede interpretatieslag. + SSHPASS: ${{ secrets.PI_MAIN_PASSWORD }} + PI_MAIN_PORT: ${{ secrets.PI_MAIN_PORT }} + PI_MAIN_USERNAME: ${{ secrets.PI_MAIN_USERNAME }} + PI_MAIN_ADDRESS: ${{ secrets.PI_MAIN_ADDRESS }} run: | sudo apt-get update && sudo apt-get install -y sshpass - sshpass -p "${{ secrets.PI_MAIN_PASSWORD }}" scp \ - -P ${{ secrets.PI_MAIN_PORT }} \ + sshpass -e scp \ + -P "$PI_MAIN_PORT" \ -o StrictHostKeyChecking=no \ -r ${{ inputs.artifact_name }}/* \ - ${{ secrets.PI_MAIN_USERNAME }}@${{ secrets.PI_MAIN_ADDRESS }}:${{ inputs.deploy_path }} + "$PI_MAIN_USERNAME@$PI_MAIN_ADDRESS:${{ inputs.deploy_path }}"