在 Jenkins 上编译 Compass CI
Compass compile on Jenkins CI
我的 CI 环境中有以下执行脚本
cd /var/www/html
php vendor/bin/phpunit app/tests --log-junit /var/lib/jenkins/jobs/Closecall/workspace/tests/reports/junit.xml
php vendor/bin/phinx migrate -e development
sudo compass compile
通过 SSH 连接到 CI 并自行编译工作正常,但是当 CI 在构建时执行此操作时,我收到以下错误
+ sudo compass compile
sudo: no tty present and no askpass program specified
Build step 'Execute shell' marked build as failure
Recording test results
Finished: FAILURE
有什么想法吗?
sudo
默认尝试打开 /dev/tty
进行读写。您用于构建的机器上可能没有可用的 /dev/tty
。 tty
的需要在 /etc/sudoers
文件中配置。
sudo
有一个选项 -S 可以从标准输入而不是 /dev/tty
读取密码。您应该能够使用 sudo -S
.
进行编译
The -S (stdin) option causes sudo to read the password from the standard input instead of the terminal device. The password must be followed by a newline character.
我的 CI 环境中有以下执行脚本
cd /var/www/html
php vendor/bin/phpunit app/tests --log-junit /var/lib/jenkins/jobs/Closecall/workspace/tests/reports/junit.xml
php vendor/bin/phinx migrate -e development
sudo compass compile
通过 SSH 连接到 CI 并自行编译工作正常,但是当 CI 在构建时执行此操作时,我收到以下错误
+ sudo compass compile
sudo: no tty present and no askpass program specified
Build step 'Execute shell' marked build as failure
Recording test results
Finished: FAILURE
有什么想法吗?
sudo
默认尝试打开 /dev/tty
进行读写。您用于构建的机器上可能没有可用的 /dev/tty
。 tty
的需要在 /etc/sudoers
文件中配置。
sudo
有一个选项 -S 可以从标准输入而不是 /dev/tty
读取密码。您应该能够使用 sudo -S
.
The -S (stdin) option causes sudo to read the password from the standard input instead of the terminal device. The password must be followed by a newline character.