publish
3.24 KB
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#!/bin/bash
# Upload the sources to our production server, with minimal effort.
# If you're behind the gateway, first open a SSH tunnel like so :
# ssh -L 22222:storms.irap.omp.eu:22 mbouchemit@gw.irap.omp.eu
# Add to your ~/.ssh/config :
#Host storms.local
# HostName localhost
# Port 22222
# User mbouchemit
# IdentityFile ~/.ssh/NoPassword/id_rsa
# and swap configuration below.
# Note that the storms server seems to reject key-based authentication,
# whatever's written in its /etc/sshd configuration. Weird.
# CONFIGURATION ###############################################################
REMOTE_DIR=/var/www/html/HELIOPROPA
#USER=mbouchemit
#SERVER=storms.irap.omp.eu
# Through the gateway
USER=agoutenoir
SERVER=storms.local
# COLORS ######################################################################
Off='\033[0m' # Text Reset
# Regular Colors
Black='\033[0;30m' # Black
Red='\033[0;31m' # Red
Green='\033[0;32m' # Green
Yellow='\033[0;33m' # Yellow
Blue='\033[0;34m' # Blue
Purple='\033[0;35m' # Purple
Cyan='\033[0;36m' # Cyan
White='\033[0;37m' # White
# Bold
BBlack='\033[1;30m' # Black
BRed='\033[1;31m' # Red
BGreen='\033[1;32m' # Green
BYellow='\033[1;33m' # Yellow
BBlue='\033[1;34m' # Blue
BPurple='\033[1;35m' # Purple
BCyan='\033[1;36m' # Cyan
BWhite='\033[1;37m' # White
# Underline
UBlack='\033[4;30m' # Black
URed='\033[4;31m' # Red
UGreen='\033[4;32m' # Green
UYellow='\033[4;33m' # Yellow
UBlue='\033[4;34m' # Blue
UPurple='\033[4;35m' # Purple
UCyan='\033[4;36m' # Cyan
UWhite='\033[4;37m' # White
# Background
On_Black='\033[40m' # Black
On_Red='\033[41m' # Red
On_Green='\033[42m' # Green
On_Yellow='\033[43m' # Yellow
On_Blue='\033[44m' # Blue
On_Purple='\033[45m' # Purple
On_Cyan='\033[46m' # Cyan
On_White='\033[47m' # White
# LOCAL CLEANUP ###############################################################
# Clear the local cache, it's good design (we're not uploading it anyways)
echo -e "${Green}Cleaning local files...${Off}"
rm -R cache/*
# Fill the VERSION number with the new version
VERSION=`git describe --tags`
echo -e "${Green}Setting new version : ${Yellow}${VERSION}${Off}"
echo $VERSION > VERSION
# UPLOAD ######################################################################
# Delete is dangerous, as we're using a file-based database
# so we must exclude some directories and files.
echo -e "${Green}Uploading files...${Off}"
rsync -r --delete \
--exclude .git \
--exclude *.gitkeep \
--exclude .idea \
--exclude bin \
--exclude cache \
--exclude venv* \
--exclude res \
--exclude spec \
--exclude web/run.log \
--exclude VISITS \
. ${USER}@${SERVER}:${REMOTE_DIR}
# REMOTE CLEANUP ##############################################################
# Run some scripts on the server, now
# You're going to need in your sudoers file something like :
# mbouchemit ALL=(apache) NOPASSWD: ALL
echo -e "${Green}Cleaning remote files...${Off}"
ssh -t -t ${USER}@${SERVER} <<-ENDSSH
cd ${REMOTE_DIR}
sudo -u apache rm -Rf cache/*
exit
ENDSSH
echo -e "${BGreen}Done !${Off}"