dployr 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dployr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tomas Aparicio
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-04-29 00:00:00.000000000 Z
12
+ date: 2014-04-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fog
@@ -133,6 +133,7 @@ files:
133
133
  - lib/dployr/commands/base.rb
134
134
  - lib/dployr/commands/config.rb
135
135
  - lib/dployr/commands/execute.rb
136
+ - lib/dployr/commands/info.rb
136
137
  - lib/dployr/commands/provision_test.rb
137
138
  - lib/dployr/commands/ssh.rb
138
139
  - lib/dployr/commands/start.rb
@@ -165,10 +166,10 @@ files:
165
166
  - spec/fixtures/Dployrfile.yml
166
167
  - spec/fixtures/basic/Dployrfile.yml
167
168
  - spec/fixtures/german/Dployrfile.yml
168
- - spec/fixtures/hello/createExecUser.sh
169
- - spec/fixtures/hello/hello.sh
170
- - spec/fixtures/hello/jetty
171
- - spec/fixtures/hello/jetty.sh
169
+ - spec/fixtures/german/hello/hello.sh
170
+ - spec/fixtures/german/real_test.rb
171
+ - spec/fixtures/german/server_aws.info
172
+ - spec/fixtures/german/server_gce.info
172
173
  - spec/fog_spec_.rb
173
174
  - spec/init_spec.rb
174
175
  - spec/spec_helper.rb
@@ -194,7 +195,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
194
195
  version: '0'
195
196
  requirements: []
196
197
  rubyforge_project: dployr
197
- rubygems_version: 2.0.6
198
+ rubygems_version: 2.0.3
198
199
  signing_key:
199
200
  specification_version: 4
200
201
  summary: Multicloud management and deployment with asteroids made simple
@@ -208,10 +209,10 @@ test_files:
208
209
  - spec/fixtures/Dployrfile.yml
209
210
  - spec/fixtures/basic/Dployrfile.yml
210
211
  - spec/fixtures/german/Dployrfile.yml
211
- - spec/fixtures/hello/createExecUser.sh
212
- - spec/fixtures/hello/hello.sh
213
- - spec/fixtures/hello/jetty
214
- - spec/fixtures/hello/jetty.sh
212
+ - spec/fixtures/german/hello/hello.sh
213
+ - spec/fixtures/german/real_test.rb
214
+ - spec/fixtures/german/server_aws.info
215
+ - spec/fixtures/german/server_gce.info
215
216
  - spec/fog_spec_.rb
216
217
  - spec/init_spec.rb
217
218
  - spec/spec_helper.rb
@@ -1,18 +0,0 @@
1
- #!/bin/sh
2
-
3
- createExecUser() {
4
- USERNAME=$1
5
- shift
6
- DIRECTORIES=$@
7
-
8
- NOLOGIN_PATH=$(which nologin)
9
- sudo useradd -M -U -s $NOLOGIN_PATH $USERNAME
10
- for dir in $DIRECTORIES; do
11
- if [ ! -d $dir ]
12
- then
13
- sudo mkdir $dir
14
- fi
15
- echo "Change owner to $dir ..."
16
- sudo chown -R ${USERNAME}:${USERNAME} $dir
17
- done
18
- }
@@ -1,562 +0,0 @@
1
- #!/usr/bin/env bash
2
- #
3
- # Startup script for jetty under *nix systems (it works under NT/cygwin too).
4
-
5
- ##################################################
6
- # Set the name which is used by other variables.
7
- # Defaults to the file name without extension.
8
- ##################################################
9
- NAME=$(echo $(basename $0) | sed -e 's/^[SK][0-9]+//' -e 's/\.sh$//')
10
-
11
- # To get the service to restart correctly on reboot, uncomment below (3 lines):
12
- # ========================
13
- # chkconfig: 3 99 99
14
- # description: Jetty 9 webserver
15
- # processname: jetty
16
- # ========================
17
-
18
- # Configuration files
19
- #
20
- # /etc/default/$NAME
21
- # If it exists, this is read at the start of script. It may perform any
22
- # sequence of shell commands, like setting relevant environment variables.
23
- #
24
- # $HOME/.$NAMErc (e.g. $HOME/.jettyrc)
25
- # If it exists, this is read at the start of script. It may perform any
26
- # sequence of shell commands, like setting relevant environment variables.
27
- #
28
- # /etc/$NAME.conf
29
- # If found, and no configurations were given on the command line,
30
- # the file will be used as this script's configuration.
31
- # Each line in the file may contain:
32
- # - A comment denoted by the pound (#) sign as first non-blank character.
33
- # - The path to a regular file, which will be passed to jetty as a
34
- # config.xml file.
35
- # - The path to a directory. Each *.xml file in the directory will be
36
- # passed to jetty as a config.xml file.
37
- # - All other lines will be passed, as-is to the start.jar
38
- #
39
- # The files will be checked for existence before being passed to jetty.
40
- #
41
- # Configuration variables
42
- #
43
- # JAVA
44
- # Command to invoke Java. If not set, java (from the PATH) will be used.
45
- #
46
- # JAVA_OPTIONS
47
- # Extra options to pass to the JVM
48
- #
49
- # JETTY_HOME
50
- # Where Jetty is installed. If not set, the script will try go
51
- # guess it by first looking at the invocation path for the script,
52
- # and then by looking in standard locations as $HOME/opt/jetty
53
- # and /opt/jetty. The java system property "jetty.home" will be
54
- # set to this value for use by configure.xml files, f.e.:
55
- #
56
- # <Arg><Property name="jetty.home" default="."/>/webapps/jetty.war</Arg>
57
- #
58
- # JETTY_BASE
59
- # Where your Jetty base directory is. If not set, the value from
60
- # $JETTY_HOME will be used.
61
- #
62
- # JETTY_RUN
63
- # Where the $NAME.pid file should be stored. It defaults to the
64
- # first available of /var/run, /usr/var/run, JETTY_BASE and /tmp
65
- # if not set.
66
- #
67
- # JETTY_PID
68
- # The Jetty PID file, defaults to $JETTY_RUN/$NAME.pid
69
- #
70
- # JETTY_ARGS
71
- # The default arguments to pass to jetty.
72
- # For example
73
- # JETTY_ARGS=jetty.host=0.0.0.0 jetty.port=8080 jetty.spdy.port=8443 jetty.secure.port=443
74
- #
75
- # JETTY_USER
76
- # if set, then used as a username to run the server as
77
-
78
- JETTY_HOME=/opt/jetty
79
- JETTY_USER=jetty
80
- JETTY_PORT=8080
81
- JETTY_LOGS=/var/log/jetty/
82
-
83
- usage()
84
- {
85
- echo "Usage: ${0##*/} [-d] {start|stop|run|restart|check|supervise} [ CONFIGS ... ] "
86
- exit 1
87
- }
88
-
89
- [ $# -gt 0 ] || usage
90
-
91
-
92
- ##################################################
93
- # Some utility functions
94
- ##################################################
95
- findDirectory()
96
- {
97
- local L OP=$1
98
- shift
99
- for L in "$@"; do
100
- [ "$OP" "$L" ] || continue
101
- printf %s "$L"
102
- break
103
- done
104
- }
105
-
106
- running()
107
- {
108
- local PID=$(cat "$1" 2>/dev/null) || return 1
109
- kill -0 "$PID" 2>/dev/null
110
- }
111
-
112
- started()
113
- {
114
- # wait for 60s to see "STARTED" in PID file, needs jetty-started.xml as argument
115
- for T in 1 2 3 4 5 6 7 9 10 11 12 13 14 15
116
- do
117
- sleep 4
118
- [ -z "$(grep STARTED $1 2>/dev/null)" ] || return 0
119
- [ -z "$(grep STOPPED $1 2>/dev/null)" ] || return 1
120
- [ -z "$(grep FAILED $1 2>/dev/null)" ] || return 1
121
- local PID=$(cat "$2" 2>/dev/null) || return 1
122
- kill -0 "$PID" 2>/dev/null || return 1
123
- echo -n ". "
124
- done
125
-
126
- return 1;
127
- }
128
-
129
-
130
- readConfig()
131
- {
132
- (( DEBUG )) && echo "Reading $1.."
133
- source "$1"
134
- }
135
-
136
-
137
-
138
- ##################################################
139
- # Get the action & configs
140
- ##################################################
141
- CONFIGS=()
142
- NO_START=0
143
- DEBUG=0
144
-
145
- while [[ $1 = -* ]]; do
146
- case $1 in
147
- -d) DEBUG=1 ;;
148
- esac
149
- shift
150
- done
151
- ACTION=$1
152
- shift
153
-
154
- ##################################################
155
- # Read any configuration files
156
- ##################################################
157
- ETC=/etc
158
- if [ $UID != 0 ]
159
- then
160
- ETC=$HOME/etc
161
- fi
162
-
163
- for CONFIG in $ETC/default/${NAME}{,9} $HOME/.${NAME}rc; do
164
- if [ -f "$CONFIG" ] ; then
165
- readConfig "$CONFIG"
166
- fi
167
- done
168
-
169
-
170
- ##################################################
171
- # Set tmp if not already set.
172
- ##################################################
173
- TMPDIR=${TMPDIR:-/tmp}
174
-
175
- ##################################################
176
- # Jetty's hallmark
177
- ##################################################
178
- JETTY_INSTALL_TRACE_FILE="start.jar"
179
-
180
-
181
- ##################################################
182
- # Try to determine JETTY_HOME if not set
183
- ##################################################
184
- if [ -z "$JETTY_HOME" ]
185
- then
186
- JETTY_SH=$0
187
- case "$JETTY_SH" in
188
- /*) JETTY_HOME=${JETTY_SH%/*/*} ;;
189
- ./*/*) JETTY_HOME=${JETTY_SH%/*/*} ;;
190
- ./*) JETTY_HOME=.. ;;
191
- */*/*) JETTY_HOME=./${JETTY_SH%/*/*} ;;
192
- */*) JETTY_HOME=. ;;
193
- *) JETTY_HOME=.. ;;
194
- esac
195
-
196
- if [ ! -f "$JETTY_HOME/$JETTY_INSTALL_TRACE_FILE" ]
197
- then
198
- JETTY_HOME=
199
- fi
200
- fi
201
-
202
-
203
- ##################################################
204
- # No JETTY_HOME yet? We're out of luck!
205
- ##################################################
206
- if [ -z "$JETTY_HOME" ]; then
207
- echo "** ERROR: JETTY_HOME not set, you need to set it or install in a standard location"
208
- exit 1
209
- fi
210
-
211
- cd "$JETTY_HOME"
212
- JETTY_HOME=$PWD
213
-
214
-
215
- ##################################################
216
- # Set JETTY_BASE
217
- ##################################################
218
- if [ -z "$JETTY_BASE" ]; then
219
- JETTY_BASE=$JETTY_HOME
220
- fi
221
-
222
- cd "$JETTY_BASE"
223
- JETTY_BASE=$PWD
224
-
225
-
226
- #####################################################
227
- # Check that jetty is where we think it is
228
- #####################################################
229
- if [ ! -r "$JETTY_HOME/$JETTY_INSTALL_TRACE_FILE" ]
230
- then
231
- echo "** ERROR: Oops! Jetty doesn't appear to be installed in $JETTY_HOME"
232
- echo "** ERROR: $JETTY_HOME/$JETTY_INSTALL_TRACE_FILE is not readable!"
233
- exit 1
234
- fi
235
-
236
- ##################################################
237
- # Try to find this script's configuration file,
238
- # but only if no configurations were given on the
239
- # command line.
240
- ##################################################
241
- if [ -z "$JETTY_CONF" ]
242
- then
243
- if [ -f $ETC/${NAME}.conf ]
244
- then
245
- JETTY_CONF=$ETC/${NAME}.conf
246
- elif [ -f "$JETTY_BASE/etc/jetty.conf" ]
247
- then
248
- JETTY_CONF=$JETTY_BASE/etc/jetty.conf
249
- elif [ -f "$JETTY_HOME/etc/jetty.conf" ]
250
- then
251
- JETTY_CONF=$JETTY_HOME/etc/jetty.conf
252
- fi
253
- fi
254
-
255
- ##################################################
256
- # Get the list of config.xml files from jetty.conf
257
- ##################################################
258
- if [ -f "$JETTY_CONF" ] && [ -r "$JETTY_CONF" ]
259
- then
260
- while read -r CONF
261
- do
262
- if expr "$CONF" : '#' >/dev/null ; then
263
- continue
264
- fi
265
-
266
- if [ -d "$CONF" ]
267
- then
268
- # assume it's a directory with configure.xml files
269
- # for example: /etc/jetty.d/
270
- # sort the files before adding them to the list of JETTY_ARGS
271
- for XMLFILE in "$CONF/"*.xml
272
- do
273
- if [ -r "$XMLFILE" ] && [ -f "$XMLFILE" ]
274
- then
275
- JETTY_ARGS+=("$XMLFILE")
276
- else
277
- echo "** WARNING: Cannot read '$XMLFILE' specified in '$JETTY_CONF'"
278
- fi
279
- done
280
- else
281
- # assume it's a command line parameter (let start.jar deal with its validity)
282
- JETTY_ARGS+=("$CONF")
283
- fi
284
- done < "$JETTY_CONF"
285
- fi
286
-
287
- #####################################################
288
- # Find a location for the pid file
289
- #####################################################
290
- if [ -z "$JETTY_RUN" ]
291
- then
292
- JETTY_RUN=$(findDirectory -w /var/run /usr/var/run $JETTY_BASE /tmp)
293
- fi
294
-
295
- #####################################################
296
- # Find a pid and state file
297
- #####################################################
298
- if [ -z "$JETTY_PID" ]
299
- then
300
- JETTY_PID="$JETTY_RUN/${NAME}.pid"
301
- fi
302
-
303
- if [ -z "$JETTY_STATE" ]
304
- then
305
- JETTY_STATE=$JETTY_BASE/${NAME}.state
306
- fi
307
- JAVA_OPTIONS+=("-Djetty.state=$JETTY_STATE")
308
- rm -f $JETTY_STATE
309
-
310
- ##################################################
311
- # Setup JAVA if unset
312
- ##################################################
313
- if [ -z "$JAVA" ]
314
- then
315
- JAVA=$(which java)
316
- fi
317
-
318
- if [ -z "$JAVA" ]
319
- then
320
- echo "Cannot find a Java JDK. Please set either set JAVA or put java (>=1.5) in your PATH." 2>&2
321
- exit 1
322
- fi
323
-
324
- #####################################################
325
- # See if JETTY_LOGS is defined
326
- #####################################################
327
- if [ -z "$JETTY_LOGS" ] && [ -d $JETTY_BASE/logs ]
328
- then
329
- JETTY_LOGS=$JETTY_BASE/logs
330
- fi
331
- if [ -z "$JETTY_LOGS" ] && [ -d $JETTY_HOME/logs ]
332
- then
333
- JETTY_LOGS=$JETTY_HOME/logs
334
- fi
335
- if [ "$JETTY_LOGS" ]
336
- then
337
- JAVA_OPTIONS+=("-Djetty.logs=$JETTY_LOGS")
338
- fi
339
-
340
- #####################################################
341
- # Are we running on Windows? Could be, with Cygwin/NT.
342
- #####################################################
343
- case "`uname`" in
344
- CYGWIN*) PATH_SEPARATOR=";";;
345
- *) PATH_SEPARATOR=":";;
346
- esac
347
-
348
-
349
- #####################################################
350
- # Add jetty properties to Java VM options.
351
- #####################################################
352
- JAVA_OPTIONS+=("-Djetty.home=$JETTY_HOME" "-Djetty.base=$JETTY_BASE" "-Djava.io.tmpdir=$TMPDIR")
353
-
354
- #####################################################
355
- # This is how the Jetty server will be started
356
- #####################################################
357
-
358
- JETTY_START=$JETTY_HOME/start.jar
359
- START_INI=$JETTY_BASE/start.ini
360
- if [ ! -f "$START_INI" ]
361
- then
362
- echo "Cannot find a start.ini in your JETTY_BASE directory: $JETTY_BASE" 2>&2
363
- exit 1
364
- fi
365
-
366
- RUN_ARGS=(${JAVA_OPTIONS[@]} -jar "$JETTY_START" ${JETTY_ARGS[*]})
367
- RUN_CMD=("$JAVA" ${RUN_ARGS[@]})
368
-
369
- #####################################################
370
- # Comment these out after you're happy with what
371
- # the script is doing.
372
- #####################################################
373
- if (( DEBUG ))
374
- then
375
- echo "START_INI = $START_INI"
376
- echo "JETTY_HOME = $JETTY_HOME"
377
- echo "JETTY_BASE = $JETTY_BASE"
378
- echo "JETTY_CONF = $JETTY_CONF"
379
- echo "JETTY_PID = $JETTY_PID"
380
- echo "JETTY_START = $JETTY_START"
381
- echo "JETTY_ARGS = ${JETTY_ARGS[*]}"
382
- echo "JAVA_OPTIONS = ${JAVA_OPTIONS[*]}"
383
- echo "JAVA = $JAVA"
384
- echo "RUN_CMD = ${RUN_CMD}"
385
- fi
386
-
387
- ##################################################
388
- # Do the action
389
- ##################################################
390
- case "$ACTION" in
391
- start)
392
- echo -n "Starting Jetty: "
393
-
394
- if (( NO_START )); then
395
- echo "Not starting ${NAME} - NO_START=1";
396
- exit
397
- fi
398
-
399
- if [ $UID -eq 0 ] && type start-stop-daemon > /dev/null 2>&1
400
- then
401
- unset CH_USER
402
- if [ -n "$JETTY_USER" ]
403
- then
404
- CH_USER="-c$JETTY_USER"
405
- fi
406
-
407
- start-stop-daemon -S -p"$JETTY_PID" $CH_USER -d"$JETTY_HOME" -b -m -a "$JAVA" -- "${RUN_ARGS[@]}" --daemon
408
-
409
- else
410
-
411
- if [ -f "$JETTY_PID" ]
412
- then
413
- if running $JETTY_PID
414
- then
415
- echo "Already Running!"
416
- exit 1
417
- else
418
- # dead pid file - remove
419
- rm -f "$JETTY_PID"
420
- fi
421
- fi
422
-
423
- if [ "$JETTY_USER" ]
424
- then
425
- touch "$JETTY_PID"
426
- chown "$JETTY_USER" "$JETTY_PID"
427
- # FIXME: Broken solution: wordsplitting, pathname expansion, arbitrary command execution, etc.
428
- su - "$JETTY_USER" -c "
429
- exec ${RUN_CMD[*]} --daemon &
430
- disown \$!
431
- echo \$! > '$JETTY_PID'"
432
- else
433
- "${RUN_CMD[@]}" &
434
- disown $!
435
- echo $! > "$JETTY_PID"
436
- fi
437
-
438
- fi
439
-
440
- if expr "${JETTY_ARGS[*]}" : '.*jetty-started.xml.*' >/dev/null
441
- then
442
- if started "$JETTY_STATE" "$JETTY_PID"
443
- then
444
- echo "OK `date`"
445
- else
446
- echo "FAILED `date`"
447
- fi
448
- else
449
- echo "ok `date`"
450
- fi
451
-
452
- ;;
453
-
454
- stop)
455
- echo -n "Stopping Jetty: "
456
- if [ $UID -eq 0 ] && type start-stop-daemon > /dev/null 2>&1; then
457
- start-stop-daemon -K -p"$JETTY_PID" -d"$JETTY_HOME" -a "$JAVA" -s HUP
458
-
459
- TIMEOUT=30
460
- while running "$JETTY_PID"; do
461
- if (( TIMEOUT-- == 0 )); then
462
- start-stop-daemon -K -p"$JETTY_PID" -d"$JETTY_HOME" -a "$JAVA" -s KILL
463
- fi
464
-
465
- sleep 1
466
- done
467
-
468
- rm -f "$JETTY_PID"
469
- echo OK
470
- else
471
- PID=$(cat "$JETTY_PID" 2>/dev/null)
472
- kill "$PID" 2>/dev/null
473
-
474
- TIMEOUT=30
475
- while running $JETTY_PID; do
476
- if (( TIMEOUT-- == 0 )); then
477
- kill -KILL "$PID" 2>/dev/null
478
- fi
479
-
480
- sleep 1
481
- done
482
-
483
- rm -f "$JETTY_PID"
484
- echo OK
485
- fi
486
-
487
- ;;
488
-
489
- restart)
490
- JETTY_SH=$0
491
- if [ ! -f $JETTY_SH ]; then
492
- if [ ! -f $JETTY_HOME/bin/jetty.sh ]; then
493
- echo "$JETTY_HOME/bin/jetty.sh does not exist."
494
- exit 1
495
- fi
496
- JETTY_SH=$JETTY_HOME/bin/jetty.sh
497
- fi
498
-
499
- "$JETTY_SH" stop "$@"
500
- "$JETTY_SH" start "$@"
501
-
502
- ;;
503
-
504
- supervise)
505
- #
506
- # Under control of daemontools supervise monitor which
507
- # handles restarts and shutdowns via the svc program.
508
- #
509
- exec "${RUN_CMD[@]}"
510
-
511
- ;;
512
-
513
- run|demo)
514
- echo "Running Jetty: "
515
-
516
- if [ -f "$JETTY_PID" ]
517
- then
518
- if running "$JETTY_PID"
519
- then
520
- echo "Already Running!"
521
- exit 1
522
- else
523
- # dead pid file - remove
524
- rm -f "$JETTY_PID"
525
- fi
526
- fi
527
-
528
- exec "${RUN_CMD[@]}"
529
- ;;
530
-
531
- check|status)
532
- echo "Checking arguments to Jetty: "
533
- echo "START_INI = $START_INI"
534
- echo "JETTY_HOME = $JETTY_HOME"
535
- echo "JETTY_BASE = $JETTY_BASE"
536
- echo "JETTY_CONF = $JETTY_CONF"
537
- echo "JETTY_PID = $JETTY_PID"
538
- echo "JETTY_START = $JETTY_START"
539
- echo "JETTY_LOGS = $JETTY_LOGS"
540
- echo "CLASSPATH = $CLASSPATH"
541
- echo "JAVA = $JAVA"
542
- echo "JAVA_OPTIONS = ${JAVA_OPTIONS[*]}"
543
- echo "JETTY_ARGS = ${JETTY_ARGS[*]}"
544
- echo "RUN_CMD = ${RUN_CMD[*]}"
545
- echo
546
-
547
- if [ -f "$JETTY_PID" ]
548
- then
549
- echo "Jetty running pid=$(< "$JETTY_PID")"
550
- exit 0
551
- fi
552
- exit 1
553
-
554
- ;;
555
-
556
- *)
557
- usage
558
-
559
- ;;
560
- esac
561
-
562
- exit 0
@@ -1,28 +0,0 @@
1
- #!/bin/sh
2
- source /tmp/hello/createExecUser.sh
3
-
4
- # Install JRE 1.7
5
- # sudo yum install java-1.7.0-openjdk.x86_64 -y
6
- # sudo alternatives --set java /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
7
-
8
- # Install & Run Jetty
9
- if [ ! -d /opt/jetty ]
10
- then
11
- #wget http://download.eclipse.org/jetty/9.1.1.v20140108/dist/jetty-distribution-9.1.1.v20140108.tar.gz -O jetty.tar.gz
12
- #wget http://cdn.mirror.garr.it/mirror3/mirrors/eclipse//jetty/9.1.0.v20131115/dist/jetty-distribution-9.1.0.v20131115.tar.gz -O jetty.tar.gz
13
- wget http://eclipse.mirror.triple-it.nl/jetty/stable-9/dist/jetty-distribution-9.1.4.v20140401.tar.gz -O jetty.tar.gz
14
- tar -xf jetty.tar.gz
15
- rm jetty.tar.gz
16
- mv jetty-* jetty
17
- sudo mv jetty /opt/
18
- sudo /usr/sbin/useradd jetty
19
- sudo mkdir /var/log/jetty
20
- sudo chown -R jetty:jetty /var/log/jetty /opt/jetty
21
- fi
22
-
23
- sudo cp /tmp/hello/jetty /etc/init.d
24
- sudo chmod a+x /etc/init.d/jetty
25
- sudo chkconfig --add jetty
26
- sudo chkconfig jetty on
27
- sudo service jetty restart
28
-
File without changes