在执行集成测试之前,我想在Travis环境中设置一些RabbitMQ交换。
.travis.yml
services:
- rabbitmq
before_script:
- src/it/bin/configure_rabbitmq.shconfigure_rabbitmq.sh
#!/usr/bin/env bash
if [ -f ./rabbitmqadmin ]; then
echo "rabbitmqadmin already present"
else
wget http://localhost:15672/cli/rabbitmqadmin
chmod +x rabbitmqadmin
fi
./rabbitmqadmin declare vhost name=guest
for r in a b c d e; do
./rabbitmqadmin --vhost=guest declare exchange name=set-$r-testing type=fanout durable=true -u guest -p guest
done失效日志
$ src/it/bin/configure_rabbitmq.sh
--2018-08-31 01:56:05-- http://localhost:15672/cli/rabbitmqadmin
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:15672... connected.
HTTP request sent, awaiting response... 200 OK
Length: 37698 (37K) [application/octet-stream]
Saving to: ‘rabbitmqadmin’
0K .......... .......... .......... ...... 100% 181K=0.2s
2018-08-31 01:56:06 (181 KB/s) - ‘rabbitmqadmin’ saved [37698/37698]
vhost declared
*** Access refused: /api/exchanges/guest/set-a-testing
*** Access refused: /api/exchanges/guest/set-b-testing
*** Access refused: /api/exchanges/guest/set-c-testing
*** Access refused: /api/exchanges/guest/set-d-testing
*** Access refused: /api/exchanges/guest/set-e-testing
The command "src/it/bin/configure_rabbitmq.sh" failed and exited with 1 during .是什么阻止了我授权创建这些交易所?
发布于 2018-09-27 13:03:05
RabbitMQ需要setuid标志,因此您只能在标准、OS或可靠的基础设施上运行RabbitMQ (即您的.travis.yml必须包含sudo: required)。
添加sudo: required可能会解决这一问题。
https://stackoverflow.com/questions/52107517
复制相似问题