FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
JavaScript.com/bin/deploy at master · alainyog/JavaScript.com · GitHub
alainyog
JavaScript.com
Repository navigation
Code
Pull requests
1
(1)
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
JavaScript.com
/
bin
/
deploy
Copy path
More file actions
More file actions
Latest commit
History
History
History
executable file
·
44 lines (32 loc) · 1.46 KB
Breadcrumbs
JavaScript.com
/
bin
/
deploy
Copy path
File metadata and controls
executable file
·
44 lines (32 loc) · 1.46 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!
/usr/bin/env bash
#
This is a script used to deploy the app. After the git repository is updated, this script is
#
executed in order to complete the deployment. Feel free to customize with wild abandon. This
#
script is executed as root. Thus, it is critically important to sudo untrusted commands.
#
Anything from the app should be considered untrusted.
#
If any simple command fails, halt the script.
set
-e
#
Environment variables available to you:
#
BASE_DIR - base location for the application (usually /srv/app_name)
#
GIT_DIR - location of the app's main git dir
#
RAILS_ENV - the environment (production, staging, etc.)
#
APP_USER - the user (and group) for the application
TIME=
`
date +%s
`
RELEASE_DIR=
$BASE_DIR
/releases/
$TIME
CURRENT_DIR=
$BASE_DIR
/current
#
We start by copying this directory into a releases directory.
cp -R
$GIT_DIR
$RELEASE_DIR
#
Symlink node_modules
ln -s /srv/javascriptcom/shared/node_modules
$RELEASE_DIR
/node_modules
#
Make the tmp dir
mkdir -p
$RELEASE_DIR
/tmp
#
Make the app own it
chown -R
$APP_USER
:
$APP_USER
$RELEASE_DIR
#
Run whatever rake tasks this app requires. Generally tasks should follow the the following
#
pattern: 'sudo -i -u $APP_USER RAILS_ENV=$RAILS_ENV the_command'. Commands should only be
#
executed outside sudo for very, very good reason.
su
$APP_USER
-l -c
"
cd
$RELEASE_DIR
; npm install
"
#
Symlink the app
rm -f
$CURRENT_DIR
ln -sf
$RELEASE_DIR
$CURRENT_DIR
#
Restart the app
touch
$RELEASE_DIR
/tmp/restart.txt
Back
|
FazBrowse Home
|
New Git URL