Passing ENV variable in script

Passing ENV variable in script

  • To pass variable in script you will have to define it in the ENV first then pass the ENV variable in the script

name: Backup Nextcloud

on:
  schedule:
    # Runs "At 02:01" (see https://crontab.guru)
    - cron: '1 2 * * *'

jobs:
  ssh:
    name: Backup Nextcloud
  
    runs-on: [self-hosted, linux]

    env:
    # This is used to define the environment
      SYSTEM_USER: ${{ secrets.SYSTEM_USER }}
      NEXTCLOUD_SCRIPT_PATH: ${{ secrets.NEXTCLOUD_SCRIPT_PATH }}

    steps:
    - name: SSH and execute Backup Script
      uses: appleboy/ssh-action@master
      with:
        host: ${{ secrets.HOSTNAME }}
        username: ${{ secrets.USERNAME }}
        key: ${{ secrets.SSH_PRIVATE_KEY }}
        
        # This is used to pass the variables in the script
        envs: SYSTEM_USER, NEXTCLOUD_SCRIPT_PATH
        
        # This is used to execute the script from variable
        script: |
          sudo bash $NEXTCLOUD_SCRIPT_PATH

Last updated