Home > Software design >  Github Action appleboy/ssh-action: How to add Go command
Github Action appleboy/ssh-action: How to add Go command

Time:03-28

Here, I'm trying to add go command when I deploy my app in GitHub Action. The prompt in github action shows err: bash: line 15: go: command not found .

*note : I already installed go and the go command works through my ssh connection

I'm expecting the go command works when I deploy it through Github Action using appleboy/ssh-action, how to do that?

edit: here's my github action script:

      - name: Deploy App and Deploy
        uses: appleboy/[email protected]

        with:
          host: ${{secrets.SSH_HOST}} # IP address of the server you wish to ssh into
          key: ${{secrets.SSH_KEY}} # Private or public key of the server
          username: ${{ secrets.SSH_USERNAME }} # User of the server you want to ssh into

          script: |
            export NVM_DIR=~/.nvm
            source ~/.nvm/nvm.sh    

            export GO_DIR=/usr/local/go
            source /usr/local/go/bin/go

            cd /root
            cd go
            cd deploying

            echo "Cloning Git Repo to /root/deploying"
            git clone https://aldhanekaa:${{secrets.GITHUB_TOKEN}}@github.com/aldhanekaa/Golang-audio-chat.git

            echo "Building Golang source"
            cd Golang-audio-chat
            go build


well for example, for adding npm command on appleboy/ssh-action, we just need to add

export NVM_DIR=~/.nvm
source ~/.nvm/nvm.sh    

but how about go?

CodePudding user response:

As user VonC said, I can try by points the binary file of go command, but since /usr/local/go/bin/go is not short as go, I decided to add the go binary to $PATH.

So the solution comes up as; adding PATH="/usr/local/go/bin/:$PATH" at the first execution of the github action appleboy/ssh-action script.


      - name: Deploy App and Deploy
        uses: appleboy/[email protected]

        with:
          host: ${{secrets.SSH_HOST}} # IP address of the server you wish to ssh into
          key: ${{secrets.SSH_KEY}} # Private or public key of the server
          username: ${{ secrets.SSH_USERNAME }} # User of the server you want to ssh into

          script: |

            export NVM_DIR=~/.nvm
            source ~/.nvm/nvm.sh    

            PATH="/usr/local/go/bin/:$PATH"

CodePudding user response:

Check first your PATH:

echo $PATH

If /usr/local/go/bin/ is not part of it, try:

/usr/local/go/bin/go build
  • Related