linux_provision 0.9.7 → 0.9.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MDUzZjY4NGRiZGIwZWIyOGM0MDI4Y2Q4OTZlNTI1ZDRmMWRiNzI4MQ==
4
+ ZjE4ZDM5OWUzMGM1YWE3OTA3MmFkNmJhMDE1NjVmMGVhYzYxYzE4NQ==
5
5
  data.tar.gz: !binary |-
6
- ZDU3Mjc4OWNmYzYxZjQxZTEyMDk2MmY5NDk2YzVmNGI1MzFiNjQ2NA==
6
+ YWJlMTE3MDEwZTg3YTE0ZjUxMjAyYzYzZWNjMDZkYzA2YzA1ZDFiZQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NDY1MDNiNTI0MzM4YjQ5ODE2OTY5ZDFhZTIyM2ZkNzE2ODdlY2EwNDM0MDQ3
10
- ZjBlMzk1NDA5ZGQ4YzRkMDkxNGRlNTVkMTM3NWRkNzViNjRkMjkxMGM2ODVi
11
- ZmM2N2M4NzMyOGIxNjM4ZWJhZTRlODE3ZGZhMDEyZWUyZDI4MTg=
9
+ MTAyNWQ4OGQ4OTg3MDNhNjdlYWRlZDU4YTY5MzUwYjdkNGM0YjcxZjY4NTNk
10
+ NzlmYzMwY2I5ZmIyZDJkZjEzZTZmYTM3OTFlYWFlNTg3MmU3YmEwYmRlMjI3
11
+ MTUwNTMxMTU5MDJiNjk5OTc3ZjdhNjNkY2FhMzBiZjMwMGE5MDc=
12
12
  data.tar.gz: !binary |-
13
- NDNiOTcxMmQ2ODBlNWEzOTAwZjVkYTEyNzNhMTM5ODAwNTU2MjU1NTIxMjAw
14
- ZjRiYjE1M2NiYWQ5ZDU1NDNjMzU0ZDA2M2EyZGVmMDFmM2RiNDFiZjI3ZDg4
15
- MTBmYjI3NzQ2NzFlNDFiMWNiZjMxODNiOTJiYmMxNTI2ZGJiNjU=
13
+ NzEwMGQzYmVjODZjM2RmNGQ4YWY5OWVmNzJlZjUyMTUxZWQ4MTlkNTBkMmM1
14
+ YWM5MWI2NmIyNGFhZmZmNTlhY2ZlZjQ1MDY5MjE1NzIwMDI3MjcwNWU4NjE0
15
+ NjI2ZWY3MGMwNmU4N2ZiZjMyNzE2OWU3ZWJmMDFmZmM1OWMwOTc=
@@ -207,7 +207,7 @@
207
207
  <orderEntry type="sourceFolder" forTests="false" />
208
208
  <orderEntry type="library" scope="PROVIDED" name="addressable (v2.3.6, RVM: ruby-1.9.3-p545 [linux_provision]) [gem]" level="application" />
209
209
  <orderEntry type="library" scope="PROVIDED" name="blankslate (v2.1.2.4, RVM: ruby-1.9.3-p545 [linux_provision]) [gem]" level="application" />
210
- <orderEntry type="library" scope="PROVIDED" name="bundler (v1.6.0, RVM: ruby-1.9.3-p545 [linux_provision]) [gem]" level="application" />
210
+ <orderEntry type="library" scope="PROVIDED" name="bundler (v1.6.2, RVM: ruby-1.9.3-p545 [linux_provision]) [gem]" level="application" />
211
211
  <orderEntry type="library" scope="PROVIDED" name="daemons (v1.1.9, RVM: ruby-1.9.3-p545 [linux_provision]) [gem]" level="application" />
212
212
  <orderEntry type="library" scope="PROVIDED" name="debugger-ruby_core_source (v1.3.5, RVM: ruby-1.9.3-p545 [linux_provision]) [gem]" level="application" />
213
213
  <orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.2.5, RVM: ruby-1.9.3-p545 [linux_provision]) [gem]" level="application" />
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "node": {
3
- //"domain": "22.22.22.22",
4
- "domain": "192.168.59.103",
3
+ "domain": "22.22.22.22",
4
+ "port": "22",
5
+ //"domain": "192.168.59.103",
6
+ //"port": "42222",
5
7
  "user": "vagrant",
6
8
  "password": "vagrant",
7
9
  "home": "/home/vagrant",
8
- //"port": "22",
9
- "port": "42222",
10
10
  "remote": true
11
11
  },
12
12
 
data/CHANGES CHANGED
@@ -30,4 +30,8 @@
30
30
 
31
31
  == Version 0.9.7
32
32
 
33
- * Adding support for docker.
33
+ * Adding support for docker.
34
+
35
+ == Version 0.9.7
36
+
37
+ * Bug fix.
data/Vagrantfile CHANGED
@@ -60,7 +60,8 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
60
60
 
61
61
  # Every Vagrant virtual environment requires a box to build off of.
62
62
  # config.vm.box = "base"
63
- config.vm.box = "precise64"
63
+ #config.vm.box = "precise64"
64
+ config.vm.box = "ubuntu/trusty64"
64
65
 
65
66
  # Disable automatic box update checking. If you disable this, then
66
67
  # boxes will only be checked for updates when the user runs
@@ -92,7 +93,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
92
93
  # the path on the guest to mount the folder. And the optional third
93
94
  # argument is a set of non-required options.
94
95
  # config.vm.synced_folder "../data", "/vagrant_data"
95
- #config.vm.synced_folder "../linux_provision/demo", "/home/vagrant/demo"
96
+ config.vm.synced_folder "../linux_provision/demo", "/home/vagrant/demo"
96
97
 
97
98
  # Provider-specific configuration so you can fine-tune various
98
99
  # backing providers for Vagrant. These expose provider-specific options.
@@ -0,0 +1,62 @@
1
+ #!/bin/bash
2
+ #
3
+ # Selenium standalone server init script.
4
+ #
5
+ # For Debian-based distros.
6
+ #
7
+ ### BEGIN INIT INFO
8
+ # Provides: selenium-standalone
9
+ # Required-Start: $local_fs $remote_fs $network $syslog
10
+ # Required-Stop: $local_fs $remote_fs $network $syslog
11
+ # Default-Start: 2 3 4 5
12
+ # Default-Stop: 0 1 6
13
+ # Short-Description: Selenium standalone server
14
+ ### END INIT INFO
15
+
16
+ DESC="Selenium standalone server"
17
+ USER=selenium
18
+ JAVA=/usr/bin/java
19
+ PID_FILE=/var/run/selenium.pid
20
+ JAR_FILE=/usr/local/share/selenium/selenium-server-standalone-2.37.0.jar
21
+ LOG_FILE=/var/log/selenium/selenium.log
22
+
23
+ DAEMON_OPTS="-Xmx500m -Xss1024k -jar $JAR_FILE -log $LOG_FILE"
24
+ # See this Stack Overflow item for a delightful bug in Java that requires the
25
+ # strange-looking java.security.egd workaround below:
26
+ # http://stackoverflow.com/questions/14058111/selenium-server-doesnt-bind-to-socket-after-being-killed-with-sigterm
27
+ DAEMON_OPTS="-Djava.security.egd=file:/dev/./urandom $DAEMON_OPTS"
28
+
29
+ # The value for DISPLAY must match that used by the running instance of Xvfb.
30
+ export DISPLAY=:10
31
+
32
+ # Make sure that the PATH includes the location of the ChromeDriver binary.
33
+ # This is necessary for tests with Chromium to work.
34
+ export PATH=$PATH:/usr/local/bin
35
+
36
+ case "$1" in
37
+ start)
38
+ echo "Starting $DESC: "
39
+ start-stop-daemon -c $USER --start --background \
40
+ --pidfile $PID_FILE --make-pidfile --exec $JAVA -- $DAEMON_OPTS
41
+ ;;
42
+
43
+ stop)
44
+ echo "Stopping $DESC: "
45
+ start-stop-daemon --stop --pidfile $PID_FILE
46
+ ;;
47
+
48
+ restart)
49
+ echo "Restarting $DESC: "
50
+ start-stop-daemon --stop --pidfile $PID_FILE
51
+ sleep 1
52
+ start-stop-daemon -c $USER --start --background \
53
+ --pidfile $PID_FILE --make-pidfile --exec $JAVA -- $DAEMON_OPTS
54
+ ;;
55
+
56
+ *)
57
+ echo "Usage: /etc/init.d/selenium-standalone {start|stop|restart}"
58
+ exit 1
59
+ ;;
60
+ esac
61
+
62
+ exit 0
@@ -0,0 +1,79 @@
1
+ #!/bin/bash
2
+ #
3
+ # Xvfb init script for Debian-based distros.
4
+ #
5
+ # The display number used must match the DISPLAY environment variable used
6
+ # for other applications that will use Xvfb. e.g. ':10'.
7
+ #
8
+ # From: https://github.com/gmonfort/xvfb-init/blob/master/Xvfb
9
+ #
10
+ ### BEGIN INIT INFO
11
+ # Provides: xvfb
12
+ # Required-Start: $remote_fs $syslog
13
+ # Required-Stop: $remote_fs $syslog
14
+ # Default-Start: 2 3 4 5
15
+ # Default-Stop: 0 1 6
16
+ # Short-Description: Start/stop custom Xvfb
17
+ # Description: Enable service provided by xvfb
18
+ ### END INIT INFO
19
+
20
+ NAME=Xvfb
21
+ DESC="$NAME - X Virtual Frame Buffer"
22
+ SCRIPTNAME=/etc/init.d/$NAME
23
+ XVFB=/usr/bin/Xvfb
24
+ PIDFILE=/var/run/${NAME}.pid
25
+
26
+ # Using -extension RANDR doesn't seem to work anymore. Firefox complains
27
+ # about not finding extension RANDR whether or not you include it here.
28
+ # Fortunately this is a non-fatal warning and doesn't stop Firefox from working.
29
+ XVFB_ARGS=":10 -extension RANDR -noreset -ac -screen 10 1024x768x16"
30
+
31
+ set -e
32
+
33
+ if [ `id -u` -ne 0 ]; then
34
+ echo "You need root privileges to run this script"
35
+ exit 1
36
+ fi
37
+
38
+ [ -x $XVFB ] || exit 0
39
+
40
+ . /lib/lsb/init-functions
41
+
42
+ [ -r /etc/default/Xvfb ] && . /etc/default/Xvfb
43
+
44
+ case "$1" in
45
+ start)
46
+ log_daemon_msg "Starting $DESC" "$NAME"
47
+ if start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE \
48
+ --background --make-pidfile --exec $XVFB -- $XVFB_ARGS ; then
49
+ log_end_msg 0
50
+ else
51
+ log_end_msg 1
52
+ fi
53
+ log_end_msg $?
54
+ ;;
55
+
56
+ stop)
57
+ log_daemon_msg "Stopping $DESC" "$NAME"
58
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --retry 5
59
+ if [ $? -eq 0 ] && [ -f $PIDFILE ]; then
60
+ /bin/rm -rf $PIDFILE
61
+ fi
62
+ log_end_msg $?
63
+ ;;
64
+
65
+ restart|force-reload)
66
+ log_daemon_msg "Restarting $DESC" "$NAME"
67
+ $0 stop && sleep 2 && $0 start
68
+ ;;
69
+
70
+ status)
71
+ status_of_proc -p $PIDFILE $XVFB $NAME && exit 0 || exit $?
72
+ ;;
73
+
74
+ *)
75
+ log_action_msg "Usage: ${SCRIPTNAME} {start|stop|status|restart|force-reload}"
76
+ exit 2
77
+ ;;
78
+ esac
79
+ exit 0
@@ -12,18 +12,21 @@ sudo apt-get install -y subversion
12
12
  sudo apt-get install -y git
13
13
 
14
14
  # to support rvm
15
- sudo apt-get install -y gawk
16
- sudo apt-get install -y make
15
+
17
16
  sudo apt-get install -y libyaml-dev
18
17
  sudo apt-get install -y libsqlite3-dev
19
18
  sudo apt-get install -y sqlite3
20
19
  sudo apt-get install -y autoconf
21
20
  sudo apt-get install -y libgdbm-dev
22
21
  sudo apt-get install -y libncurses5-dev
23
- sudo apt-get install -y automake, libtool
22
+ sudo apt-get install -y automake
24
23
  sudo apt-get install -y bison
25
24
  sudo apt-get install -y pkg-config
26
25
  sudo apt-get install -y libffi-dev
26
+ sudo apt-get install -y libreadline6-dev
27
+ sudo apt-get install -y zlib1g-dev
28
+ sudo apt-get install -y libssl-dev
29
+ sudo apt-get install -y libtool
27
30
 
28
31
  #######################################
29
32
  [rvm]
@@ -210,53 +213,212 @@ COMMAND='#{command}'
210
213
  sudo service $SERVICE $COMMAND
211
214
 
212
215
 
216
+ #######################################
217
+ [selenium_prepare]
218
+
219
+ sudo apt-get install -y xvfb
220
+
221
+ sudo apt-get install -y x11-xkb-utils xfonts-100dpi xfonts-75dpi
222
+ sudo apt-get install -y xfonts-scalable xserver-xorg-core
223
+ sudo apt-get install -y dbus-x11
224
+ sudo apt-get install -y libfontconfig1-dev
225
+
226
+ sudo apt-get install -y firefox
227
+ sudo apt-get install -y chromium-browser
228
+
229
+ sudo apt-get install -y default-jdk
230
+
213
231
  #######################################
214
232
  [selenium]
215
233
  # http://www.labelmedia.co.uk/blog/setting-up-selenium-server-on-a-headless-jenkins-ci-build-machine.html
234
+ # https://www.exratione.com/2013/12/angularjs-headless-end-to-end-testing-with-protractor-and-selenium/
216
235
  # Installs selenium server
217
236
 
237
+ sudo /usr/sbin/useradd -m -s /bin/bash -d /home/selenium selenium
238
+ echo 'selenium:selenium' |chpasswd
239
+
218
240
  wget http://selenium-release.storage.googleapis.com/2.42/selenium-server-standalone-2.42.2.jar
219
241
 
220
242
  sudo mkdir /var/lib/selenium
221
243
 
222
244
  sudo mv selenium-server-standalone-2.42.2.jar /var/lib/selenium
223
245
 
246
+ sudo chown -R selenium:selenium /var/lib/selenium
247
+
248
+ sudo mkdir /var/log/selenium
249
+ sudo chown selenium:selenium /var/log/selenium
250
+
224
251
  cd /var/lib/selenium
225
252
 
226
253
  sudo ln -s selenium-server-standalone-2.42.2.jar selenium-server.jar
227
254
 
228
- sudo apt-get install -y xvfb
229
- sudo update-rc.d xvfb defaults 10
255
+ cd
230
256
 
231
- sudo apt-get install -y firefox
257
+ cat > selenium-standalone << END
258
+ #!/bin/bash
259
+ #
260
+ # Selenium standalone server init script.
261
+ #
262
+ # For Debian-based distros.
263
+ #
264
+ ### BEGIN INIT INFO
265
+ # Provides: selenium-standalone
266
+ # Required-Start: $local_fs $remote_fs $network $syslog
267
+ # Required-Stop: $local_fs $remote_fs $network $syslog
268
+ # Default-Start: 2 3 4 5
269
+ # Default-Stop: 0 1 6
270
+ # Short-Description: Selenium standalone server
271
+ ### END INIT INFO
272
+
273
+ DESC="Selenium standalone server"
274
+ USER=selenium
275
+ JAVA=/usr/bin/java
276
+ PID_FILE=/var/run/selenium.pid
277
+ JAR_FILE=/usr/local/share/selenium/selenium-server-standalone-2.42.2.jar
278
+ LOG_FILE=/var/log/selenium/selenium.log
279
+
280
+ DAEMON_OPTS="-Xmx500m -Xss1024k -jar $JAR_FILE -log $LOG_FILE"
281
+ # See this Stack Overflow item for a delightful bug in Java that requires the
282
+ # strange-looking java.security.egd workaround below:
283
+ # http://stackoverflow.com/questions/14058111/selenium-server-doesnt-bind-to-socket-after-being-killed-with-sigterm
284
+ DAEMON_OPTS="-Djava.security.egd=file:/dev/./urandom $DAEMON_OPTS"
285
+
286
+ # The value for DISPLAY must match that used by the running instance of Xvfb.
287
+ export DISPLAY=:10
288
+
289
+ # Make sure that the PATH includes the location of the ChromeDriver binary.
290
+ # This is necessary for tests with Chromium to work.
291
+ export PATH=$PATH:/usr/local/bin
232
292
 
233
- # export DISPLAY=":99" && java -jar /var/lib/selenium/selenium-server.jar
293
+ case "$1" in
294
+ start)
295
+ echo "Starting $DESC: "
296
+ start-stop-daemon -c $USER --start --background \
297
+ --pidfile $PID_FILE --make-pidfile --exec $JAVA -- $DAEMON_OPTS
298
+ ;;
299
+
300
+ stop)
301
+ echo "Stopping $DESC: "
302
+ start-stop-daemon --stop --pidfile $PID_FILE
303
+ ;;
304
+
305
+ restart)
306
+ echo "Restarting $DESC: "
307
+ start-stop-daemon --stop --pidfile $PID_FILE
308
+ sleep 1
309
+ start-stop-daemon -c $USER --start --background \
310
+ --pidfile $PID_FILE --make-pidfile --exec $JAVA -- $DAEMON_OPTS
311
+ ;;
312
+
313
+ *)
314
+ echo "Usage: /etc/init.d/selenium-standalone {start|stop|restart}"
315
+ exit 1
316
+ ;;
317
+ esac
318
+
319
+ exit 0
320
+ END
321
+
322
+ sudo mv selenium-standalone /etc/init.d/selenium-standalone
323
+
324
+ sudo chown root:root /etc/init.d/selenium-standalone
325
+ sudo chmod a+x /etc/init.d/selenium-standalone
326
+ sudo update-rc.d selenium-standalone defaults
234
327
 
328
+ sudo /etc/init.d/selenium-standalone restart
235
329
 
236
330
  #######################################
237
331
  [selenium2]
238
- cat > xvfb <<END
332
+ cat > xvfb << END
239
333
  #!/bin/bash
240
-
241
- if [ -z "$1" ]; then
242
- echo "`basename $0` {start|stop}"
243
- exit
334
+ #
335
+ # Xvfb init script for Debian-based distros.
336
+ #
337
+ # The display number used must match the DISPLAY environment variable used
338
+ # for other applications that will use Xvfb. e.g. ':10'.
339
+ #
340
+ # From: https://github.com/gmonfort/xvfb-init/blob/master/Xvfb
341
+ #
342
+ ### BEGIN INIT INFO
343
+ # Provides: xvfb
344
+ # Required-Start: $remote_fs $syslog
345
+ # Required-Stop: $remote_fs $syslog
346
+ # Default-Start: 2 3 4 5
347
+ # Default-Stop: 0 1 6
348
+ # Short-Description: Start/stop custom Xvfb
349
+ # Description: Enable service provided by xvfb
350
+ ### END INIT INFO
351
+
352
+ NAME=Xvfb
353
+ DESC="$NAME - X Virtual Frame Buffer"
354
+ SCRIPTNAME=/etc/init.d/$NAME
355
+ XVFB=/usr/bin/Xvfb
356
+ PIDFILE=/var/run/${NAME}.pid
357
+
358
+ # Using -extension RANDR doesn't seem to work anymore. Firefox complains
359
+ # about not finding extension RANDR whether or not you include it here.
360
+ # Fortunately this is a non-fatal warning and doesn't stop Firefox from working.
361
+ XVFB_ARGS=":10 -extension RANDR -noreset -ac -screen 10 1024x768x16"
362
+
363
+ set -e
364
+
365
+ if [ `id -u` -ne 0 ]; then
366
+ echo "You need root privileges to run this script"
367
+ exit 1
244
368
  fi
245
369
 
370
+ [ -x $XVFB ] || exit 0
371
+
372
+ . /lib/lsb/init-functions
373
+
374
+ [ -r /etc/default/Xvfb ] && . /etc/default/Xvfb
375
+
246
376
  case "$1" in
247
377
  start)
248
- /usr/bin/Xvfb :99 -ac -screen 0 1024x768x8 &
378
+ log_daemon_msg "Starting $DESC" "$NAME"
379
+ if start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE \
380
+ --background --make-pidfile --exec $XVFB -- $XVFB_ARGS ; then
381
+ log_end_msg 0
382
+ else
383
+ log_end_msg 1
384
+ fi
385
+ log_end_msg $?
249
386
  ;;
250
387
 
251
388
  stop)
252
- killall Xvfb
389
+ log_daemon_msg "Stopping $DESC" "$NAME"
390
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --retry 5
391
+ if [ $? -eq 0 ] && [ -f $PIDFILE ]; then
392
+ /bin/rm -rf $PIDFILE
393
+ fi
394
+ log_end_msg $?
395
+ ;;
396
+
397
+ restart|force-reload)
398
+ log_daemon_msg "Restarting $DESC" "$NAME"
399
+ $0 stop && sleep 2 && $0 start
400
+ ;;
401
+
402
+ status)
403
+ status_of_proc -p $PIDFILE $XVFB $NAME && exit 0 || exit $?
404
+ ;;
405
+
406
+ *)
407
+ log_action_msg "Usage: ${SCRIPTNAME} {start|stop|status|restart|force-reload}"
408
+ exit 2
253
409
  ;;
254
410
  esac
411
+ exit 0
255
412
  END
256
413
 
257
- #sudo mv xvfb /etc/init.d/xvfb
414
+ sudo mv xvfb /etc/init.d/xvfb
415
+
416
+ sudo chown root:root /etc/init.d/xvfb
417
+ sudo chmod a+x /etc/init.d/xvfb
418
+ sudo update-rc.d xvfb defaults
258
419
 
259
- #sudo chmod 755 /etc/init.d/xvfb
420
+ sudo /etc/init.d/xvfb restart
421
+
422
+ # export DISPLAY=":99" && java -jar /var/lib/selenium/selenium-server.jar
260
423
 
261
- /etc/init.d/xvfb start
262
424
 
@@ -1,3 +1,3 @@
1
1
  class LinuxProvision
2
- VERSION = "0.9.7"
2
+ VERSION = "0.9.8"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: linux_provision
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.7
4
+ version: 0.9.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Shvets
@@ -140,6 +140,8 @@ files:
140
140
  - docker/postgres/Dockerfile
141
141
  - docker/postgres/bin/create_db.sh
142
142
  - lib/linux_provision.rb
143
+ - lib/linux_provision/bin/selenium
144
+ - lib/linux_provision/bin/xvfb
143
145
  - lib/linux_provision/linux_provision.rb
144
146
  - lib/linux_provision/linux_provision_scripts.sh
145
147
  - lib/linux_provision/version.rb