首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自我托管的Github运行程序,特权命令是如何工作的?

自我托管的Github运行程序,特权命令是如何工作的?
EN

Server Fault用户
提问于 2020-11-19 14:33:48
回答 1查看 2.2K关注 0票数 0

我想要达到的目标是:

React的一个完全自动化的部署,在对live分支的任何提交上,由我自己定义的使用npm 6.14.8运行Ubuntu Server 20.04的Github进行部署

到目前为止我所拥有的是:

autodeploy.yml

代码语言:javascript
复制
name: AutoDeploy
on:
  push:
    branches: [live]
jobs:
  build:
    name: Deploy Client App
    runs-on: self-hosted
    steps:
    - uses: actions/checkout@v2
    - uses: actions/setup-node@v1
      with:
        node-version: '12'
        
    - name: Fetch latest version
      uses: actions/checkout@v1

    - name: Install Dependencies
      run: npm install
      working-directory: ./Code/client-app-react

    - name: Build project
      run: npm run build
      working-directory: ./Code/client-app-react

    - name: Copy build to webserver
      run: sudo cp -r ./ /var/www/domains/react.app.public
      working-directory: ./Code/client-app-react/build

    - name: Copy .htaccess to webserver
      run: sudo cp .htaccess /var/www/domains/react.app.public/.htaccess
      working-directory: ./Media/Server

一切似乎都正常,直到我一步一步到达复制/粘贴。

代码语言:javascript
复制
sudo cp -r ./ /var/www/domains/react.app.public

我得到的信息是:

代码语言:javascript
复制
sudo: no tty present and no askpass program specified
Error: Process completed with exit code 1.

我不知道AskPass是什么,也不知道如何打开TTY。根据这篇文章,我希望它能发挥作用:

https://stackoverflow.com/questions/57830375/github-actions-workflow-error-permission-denied

如何从autodeploy.yml操作配置文件执行特权或提升的命令?

EN

回答 1

Server Fault用户

发布于 2020-11-20 22:53:53

有两种可能的解决办法:

  1. 更改/var/www/domains/react.app.public目录的权限,以便用户可以写入该目录。然后,可以将sudo从命令中移除。
  2. sudo配置为在执行命令时不询问密码。这可以在/etc/sudoers.d/autodeploy中用下面的行实现
代码语言:javascript
复制
user ALL = (root) NOPASSWD: /usr/bin/cp -r ./ /var/www/domains/react.app.public
user ALL = (root) NOPASSWD: /usr/bin/cp .htaccess /var/www/domains/react.app.public/.htaccess

在这里,user是运行部署过程的用户的名称。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1043214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档