-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathhelm-pack-jenkins.sh
executable file
·133 lines (114 loc) · 3.24 KB
/
helm-pack-jenkins.sh
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
121
122
123
124
125
126
127
128
129
130
131
132
133
#!/bin/sh
### Script Jenkins Pipeline
# Using Parameters:
# 1. Environment (lab, prod, staging)
# 2. Helm Version
# 3. Helm Repo Path
# 4. Helm Repo Name
### How to Use:
# ./helm-pack-jenkins.sh lab 1.0.0-rc s3://devopscorner-adot-chart/lab devopscorner-lab
set -e
TITLE="HELM PACKAGE SCRIPT" # script name
VER="2.2" # script version
HELM_ENVIRONMENT=`pwd`/$1
HELM_VERSION=$2
HELM_TEMPLATE="api \
backend \
configmap \
frontend \
secretref \
stateful \
svcrole
"
HELM_REPO_PATH=$3
HELM_REPO_NAME=$4
COL_RED="\033[22;31m"
COL_GREEN="\033[22;32m"
COL_BLUE="\033[22;34m"
COL_END="\033[0m"
get_time() {
DATE=`date '+%Y-%m-%d %H:%M:%S'`
}
print_line0() {
echo "$COL_GREEN=====================================================================================$COL_END"
}
print_line1() {
echo "$COL_GREEN-------------------------------------------------------------------------------------$COL_END"
}
print_line2() {
echo "-------------------------------------------------------------------------------------"
}
logo() {
clear
print_line0
echo "$COL_RED'########:'########:'########:::'#######:::'######::::'#####:::'########:::'#######:: $COL_END"
echo "$COL_RED..... ##:: ##.....:: ##.... ##:'##.... ##:'##... ##::'##.. ##:: ##.... ##:'##.... ##: $COL_END"
echo "$COL_RED:::: ##::: ##::::::: ##:::: ##: ##:::: ##: ##:::..::'##:::: ##: ##:::: ##:..::::: ##: $COL_END"
echo "$COL_RED::: ##:::: ######::: ########:: ##:::: ##: ##::::::: ##:::: ##: ##:::: ##::'#######:: $COL_END"
echo "$COL_RED:: ##::::: ##...:::: ##.. ##::: ##:::: ##: ##::::::: ##:::: ##: ##:::: ##::...... ##: $COL_END"
echo "$COL_RED: ##:::::: ##::::::: ##::. ##:: ##:::: ##: ##::: ##:. ##:: ##:: ##:::: ##:'##:::: ##: $COL_END"
echo "$COL_RED ########: ########: ##:::. ##:. #######::. ######:::. #####::: ########::. #######:: $COL_END"
echo "$COL_RED........::........::..:::::..:::.......::::......:::::.....::::........::::.......::: $COL_END"
print_line1
echo "$COL_BLUE# $TITLE :: ver-$VER $COL_END"
echo "$COL_GREEN# HELM CHART :: ver-$HELM_VERSION $COL_END"
echo "$COL_GREEN# HELM REPO PATH :: $HELM_REPO_PATH $COL_END"
echo "$COL_GREEN# HELM REPO NAME :: $HELM_REPO_NAME $COL_END"
}
header() {
logo
print_line0
get_time
echo "$COL_RED# BEGIN PROCESS..... (Please Wait) $COL_END"
echo "$COL_RED# Start at: $DATE $COL_END"
}
footer() {
echo ""
print_line0
get_time
echo "$COL_RED# Finish at: $DATE $COL_END"
echo "$COL_RED# END PROCESS..... $COL_END\n"
}
remove_old() {
cd $HELM_ENVIRONMENT
for TEMPL in $HELM_TEMPLATE
do
msg_remove $TEMPL
rm -f $TEMPL-*.tgz
echo "- DONE -"
done
}
packaging() {
for TEMPL in $HELM_TEMPLATE
do
msg_package $TEMPL
helm package $TEMPL
echo "- DONE -"
done
}
msg_remove() {
echo ""
print_line2
get_time
echo "$COL_BLUE[ $DATE ] ##### Remove Old Package : $1 "
echo "$COL_GREEN[ $DATE ] rm -f $1-*.tgz $COL_END"
get_time
print_line2
}
msg_package() {
echo ""
print_line2
get_time
echo "$COL_BLUE[ $DATE ] ##### Packaging Helm : $1 "
echo "$COL_GREEN[ $DATE ] helm package $1 $COL_END"
get_time
print_line2
}
main() {
header
remove_old
packaging
footer
}
### START HERE ###
main $1 $2 $3 $4