We have been using circle.ci since a few weeks, running unit tests against a nodejs server (requiring node 0.10.40).
So far, we have our cricle.yaml
running some make run
, which starts a few server processes. Then, circle runs make tests
, connecting to our servers, sending API calls, … testing.
As of last week, a colleague of mine started working on updating our code to work with node 4.2.
Updating our circle.yaml
, I added a dependencies
section, installing gcc & g++4.9 and running some update-alternatives (tip found in some other discussion, otherwise some npm modules refuse to build).
I had to make do with node 4.1 (no 4.2 available yet on circle?).
I also had to run npm install
in the circle.yaml
- which was done automatically before. I suppose this could be related to me overriding the dependencies
section?
And my main problem: our server processes don’t start any more.
Right now, if feels like everything should work: running my tests “with ssh”, I can connect and start our servers with the command and env vars provided in our circle.yml
.
However if I don’t connect and start our server processes myself, they don’t get started at all.
I patched my makefile to send both stdout & stderr to some file, when starting a server process. Usually, we can find errors such as a missing env var, missing node module, … Though when circle fails starting these processes, the corresponding log files are empty.
I have no idea why our server processes refuse to start.
Having confirmed our processes haven’t started, I can log back in via ssh, and issue a make run
. Everything’s back on track.
How is it my make run
could fail?
FYI, our circle.yaml
:
general:
branches:
only:
- staging-with-new-node
machine:
environment:
ENV0: 0
ENV1: 1
hosts:
peeriodev.local: 127.0.0.1
node:
version: 4.1.0
services:
- redis
# circleCI required since node4.x
dependencies:
override:
- sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test && sudo apt-get update
- sudo apt-get install -y gcc-4.9 g++-4.9
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 10
- sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 10
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20
- sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20
# //circleCI
test:
pre:
# circleCI provides with riak-1.4.8
- wget http://s3.amazonaws.com/downloads.basho.com/riak/2.1/2.1.1/ubuntu/trusty/riak_2.1.1-1_amd64.deb
- sudo dpkg -i riak_2.1.1-1_amd64.deb
- sudo sed -i 's|storage_backend.*|storage_backend = leveldb|' /etc/riak/riak.conf
- sudo /etc/init.d/riak restart
- sudo make inittypes
# //circleCI
# circleCI required since node4.x
- npm install
# //circleCI
- make run
# wait a little bit, making sure everything's started
- sleep 10
Any advice would be welcome.
Thanks !