mirror of
https://github.com/YunoHost-Apps/gitlab_ynh.git
synced 2024-09-03 18:36:35 +02:00
Just waiting for gitlab
This commit is contained in:
parent
2dc13b7e84
commit
2273a28e55
5 changed files with 27 additions and 49 deletions
|
@ -117,13 +117,11 @@ ynh_systemd_action() {
|
||||||
|
|
||||||
# Start (or other actions) a service, print a log in case of failure and optionnaly wait until the service is completely started
|
# Start (or other actions) a service, print a log in case of failure and optionnaly wait until the service is completely started
|
||||||
#
|
#
|
||||||
# usage: ynh_systemd_action [-a action] [ [-t timeout] ]
|
# usage: gitlab_ctl_waiting [ [-t timeout] ]
|
||||||
# | arg: -a, --action= - Action to perform with systemctl. Default: start
|
|
||||||
# | arg: -t, --timeout= - Timeout - The maximum time to wait before ending the watching. Default : 300 seconds.
|
# | arg: -t, --timeout= - Timeout - The maximum time to wait before ending the watching. Default : 300 seconds.
|
||||||
gitlab_ctl_action() {
|
gitlab_ctl_waiting() {
|
||||||
# Declare an array to define the options of this helper.
|
# Declare an array to define the options of this helper.
|
||||||
declare -Ar args_array=( [a]=action= [t]=timeout= )
|
declare -Ar args_array=( [t]=timeout= )
|
||||||
local action
|
|
||||||
local timeout
|
local timeout
|
||||||
|
|
||||||
# Manage arguments with getopts
|
# Manage arguments with getopts
|
||||||
|
@ -134,54 +132,26 @@ gitlab_ctl_action() {
|
||||||
local line_match_error="master failed to start"
|
local line_match_error="master failed to start"
|
||||||
local log_path="/var/log/gitlab/unicorn/current"
|
local log_path="/var/log/gitlab/unicorn/current"
|
||||||
|
|
||||||
local action=${action:-start}
|
|
||||||
local timeout=${timeout:-300}
|
local timeout=${timeout:-300}
|
||||||
|
|
||||||
ynh_print_info --message="${action^} gitlab"
|
# Following the starting of the app in its log
|
||||||
|
|
||||||
gitlab-ctl $action
|
|
||||||
|
|
||||||
# Start to read the log
|
|
||||||
local templog="$(mktemp)"
|
local templog="$(mktemp)"
|
||||||
# Read the specified log file
|
tail -F -n1 "$log_path" >"$templog" &
|
||||||
tail -F -n1 "$log_path" > "$templog" 2>&1 &
|
# get the PID of the tail command
|
||||||
# Get the PID of the tail command
|
|
||||||
local pid_tail=$!
|
local pid_tail=$!
|
||||||
|
|
||||||
|
if grep --quiet "${line_match_error}" $templog; then # error, so restart gitlab
|
||||||
|
gitlab-ctl restart
|
||||||
|
fi
|
||||||
|
|
||||||
# Start the timeout and try to find line_match_new or line_match_existing
|
# Start the timeout and try to find line_match_new or line_match_existing
|
||||||
local i=0
|
local i=0
|
||||||
for i in $(seq 1 $timeout)
|
for i in $(seq 1 $timeout)
|
||||||
do
|
do
|
||||||
# Read the log until the sentence is found, that means the app finished to start. Or run until the timeout
|
if grep --quiet "${line_match_new}" "$templog" || grep --quiet "${line_match_existing}" "$templog"; then
|
||||||
if grep --quiet "$line_match_new" "$templog"
|
|
||||||
then
|
|
||||||
ynh_print_info --message="Gitlab has correctly started."
|
ynh_print_info --message="Gitlab has correctly started."
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
if grep --quiet "$line_match_existing" "$templog"
|
|
||||||
then
|
|
||||||
ynh_print_info --message="Gitlab has correctly started."
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
if grep --quiet "$line_match_error" "$templog"
|
|
||||||
then
|
|
||||||
ynh_print_warn "Error during ${action}ing, reconfiguring and restarting gitlab"
|
|
||||||
ynh_clean_check_starting
|
|
||||||
|
|
||||||
gitlab-ctl restart
|
|
||||||
# Force restart unicorn
|
|
||||||
gitlab-ctl restart unicorn
|
|
||||||
|
|
||||||
# Start to read the log
|
|
||||||
local templog="$(mktemp)"
|
|
||||||
# Read the specified log file
|
|
||||||
tail -F -n1 "$log_path" > "$templog" 2>&1 &
|
|
||||||
# Get the PID of the tail command
|
|
||||||
local pid_tail=$!
|
|
||||||
fi
|
|
||||||
if [ $i -eq 3 ]; then
|
|
||||||
echo -n "Please wait, Gitlab is ${action}ing" >&2
|
|
||||||
fi
|
|
||||||
if [ $i -ge 3 ]; then
|
if [ $i -ge 3 ]; then
|
||||||
echo -n "." >&2
|
echo -n "." >&2
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -118,13 +118,17 @@ ynh_store_file_checksum "$config_path/gitlab.rb"
|
||||||
# RECONFIGURE GITLAB
|
# RECONFIGURE GITLAB
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
gitlab_ctl_action --action=reconfigure --timeout=3600
|
gitlab-ctl reconfigure
|
||||||
|
|
||||||
if [ $change_path -eq 1 ]; then
|
if [ $change_path -eq 1 ]; then
|
||||||
gitlab-ctl restart
|
gitlab-ctl restart
|
||||||
gitlab_ctl_action --action="restart unicorn" --timeout=3600
|
gitlab-ctl restart unicorn
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
ynh_print_info "Waiting for gitlab..."
|
||||||
|
|
||||||
|
gitlab_ctl_waiting --timeout=3600
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# GENERIC FINALISATION
|
# GENERIC FINALISATION
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
|
@ -196,9 +196,9 @@ fi
|
||||||
#=================================================
|
#=================================================
|
||||||
# RESTART GITLAB
|
# RESTART GITLAB
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_print_info "Restarting gitlab..."
|
ynh_print_info "Waiting for gitlab..."
|
||||||
|
|
||||||
gitlab_ctl_action --action=restart --timeout=3600
|
gitlab_ctl_waiting --timeout=3600
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# RELOAD NGINX
|
# RELOAD NGINX
|
||||||
|
|
|
@ -120,10 +120,14 @@ gitlab-ctl stop sidekiq
|
||||||
# Use gitlab-rake to backup
|
# Use gitlab-rake to backup
|
||||||
ynh_exec_warn_less gitlab-rake gitlab:backup:restore force=yes BACKUP=$last_backup
|
ynh_exec_warn_less gitlab-rake gitlab:backup:restore force=yes BACKUP=$last_backup
|
||||||
|
|
||||||
gitlab_ctl_action --action=restart --timeout=3600
|
|
||||||
|
|
||||||
gitlab-rake gitlab:check SANITIZE=true
|
gitlab-rake gitlab:check SANITIZE=true
|
||||||
|
|
||||||
|
gitlab-ctl restart
|
||||||
|
|
||||||
|
ynh_print_info "Waiting for gitlab..."
|
||||||
|
|
||||||
|
gitlab_ctl_waiting --timeout=3600
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# GENERIC FINALIZATION
|
# GENERIC FINALIZATION
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
|
@ -210,9 +210,9 @@ fi
|
||||||
#=================================================
|
#=================================================
|
||||||
# RESTART GITLAB
|
# RESTART GITLAB
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_print_info "Restarting gitlab..."
|
ynh_print_info "Waiting for gitlab..."
|
||||||
|
|
||||||
gitlab_ctl_action --action=restart --timeout=3600
|
gitlab_ctl_waiting --timeout=3600
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# RELOAD NGINX
|
# RELOAD NGINX
|
||||||
|
|
Loading…
Reference in a new issue