登录
首页 >  Golang >  Go问答

在Github Action appleboy/ssh-action中如何执行Go命令

来源:stackoverflow

时间:2024-03-20 12:48:30 253浏览 收藏

在 GitHub Action 中使用 appleboy/ssh-action 时,需要对 Go 命令进行特殊配置。这是因为 Go 命令的二进制文件不在默认路径中。可以通过将 /usr/local/go/bin/(Go 二进制文件所在的位置)添加到 $PATH 环境变量来解决此问题。这样,GitHub Action 就可以找到并执行 Go 命令。

问题内容

在这里,我尝试在 github action 中部署应用程序时添加 go 命令。 github action中的提示显示 err:bash:第 15 行:go:未找到命令

*注意:我已经安装了 go,并且 go 命令可以通过我的 ssh 连接运行

我希望当我使用 appleboy/ssh-action 通过 github action 部署 go 命令时它可以工作,该怎么做?

编辑: 这是我的 github 操作脚本:

- 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

例如,要在 appleboy/ssh-action 上添加 npm 命令,我们只需要添加

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

但是去怎么样?


正确答案


正如用户VonC所说,我可以逐点尝试go命令的二进制文件,但由于 /usr/local/go/bin/go并不像go那么短,所以我决定将go二进制文件添加到$path。

所以解决方案是: 在第一次执行 github 操作 appleboy/ssh-action 脚本时添加 path="/usr/local/go/bin/:$path"

- 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"

首先检查您的路径:

echo $path

如果 /usr/local/go/bin/ 不是其中的一部分,请尝试:

/usr/local/go/bin/go build

终于介绍完啦!小伙伴们,这篇关于《在Github Action appleboy/ssh-action中如何执行Go命令》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>