我正在使用mongo进行本地集成测试,该测试已经在一些开发人员的系统上运行了数周。测试套件启动mongo并准备测试。我决定在Jenkins上使用相同的测试,但Jenkins未能启动mongod。我们在每次测试运行之前使用命令mongod --dbpath tmp/data/db
。在詹金斯,我们得到了
+ mongod --dbpath tmp/data/db
2015-12-23T10:59:17.291-0500 I CONTROL [initandlisten] MongoDB starting : pid=9962 port=27017 dbpath=tmp/data/db 64-bit host=ip-172-31-46-41.us-west-2.compute.internal
2015-12-23T10:59:17.291-0500 I CONTROL [initandlisten] db version v3.0.8
2015-12-23T10:59:17.291-0500 I CONTROL [initandlisten] git version: 83d8cc25e00e42856924d84e220fbe4a839e605d
2015-12-23T10:59:17.291-0500 I CONTROL [initandlisten] build info: Linux ip-10-142-160-199 3.10.0-121.el7.x86_64 #1 SMP Tue Apr 8 10:48:19 EDT 2014 x86_64 BOOST_LIB_VERSION=1_49
2015-12-23T10:59:17.291-0500 I CONTROL [initandlisten] allocator: tcmalloc
2015-12-23T10:59:17.291-0500 I CONTROL [initandlisten] options: { storage: { dbPath: "tmp/data/db" } }
2015-12-23T10:59:17.314-0500 I STORAGE [initandlisten] exception in initAndListen: 98 Unable to create/open lock file: tmp/data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
2015-12-23T10:59:17.314-0500 I CONTROL [initandlisten] dbexit: rc: 100
这很奇怪,因为文件夹确实存在,其中没有文件,jenkins拥有设置为drwxr-xr-x
的文件夹tmp / data / db。我修改了用户jenkins以创建一个shell并像jenkins一样运行命令。这当然正确运行。关于可能出现什么问题的任何想法?
答案 0 :(得分:2)
它看起来仍然是权限问题,因此请尝试运行:
$ sudo mkdir -p tmp/data/db/
$ sudo chown jenkins tmp/data/db