mirror of
https://github.com/zulip/zulip.git
synced 2025-11-11 17:36:27 +00:00
hooks: Add a hook to send a Zulip before/after the deploy.
This commit is contained in:
committed by
Alex Vandiver
parent
377f2d6d03
commit
8a771c7ac0
40
puppet/zulip/files/hooks/common/zulip_notify.sh
Normal file
40
puppet/zulip/files/hooks/common/zulip_notify.sh
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -u
|
||||||
|
|
||||||
|
if ! zulip_api_key=$(crudini --get /etc/zulip/zulip-secrets.conf secrets zulip_release_api_key); then
|
||||||
|
echo "zulip_notify: No zulip_release_api_key set! Set zulip_release_api_key in /etc/zulip/zulip-secrets.conf"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! zulip_notify_bot_email=$(crudini --get /etc/zulip/zulip.conf zulip_notify bot_email); then
|
||||||
|
echo "zulip_notify: No zulip_notify.bot_email set in /etc/zulip/zulip.conf"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! zulip_notify_server=$(crudini --get /etc/zulip/zulip.conf zulip_notify server); then
|
||||||
|
echo "zulip_notify: No zulip_notify.server set in /etc/zulip/zulip.conf"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! zulip_notify_stream=$(crudini --get /etc/zulip/zulip.conf zulip_notify stream); then
|
||||||
|
echo "zulip_notify: No zulip_notify.stream set in /etc/zulip/zulip.conf"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
from=${ZULIP_OLD_MERGE_BASE_COMMIT:-$ZULIP_OLD_VERSION}
|
||||||
|
to=${ZULIP_NEW_MERGE_BASE_COMMIT:-$ZULIP_NEW_VERSION}
|
||||||
|
deploy_environment=$(crudini --get /etc/zulip/zulip.conf machine deploy_type || echo "development")
|
||||||
|
|
||||||
|
echo "zulip_notify: Sending notify of $from .. $to for $deploy_environment to $zulip_notify_server"
|
||||||
|
|
||||||
|
zulip_send() {
|
||||||
|
./zulip-py3-venv/bin/zulip-send \
|
||||||
|
--site "$zulip_notify_server" \
|
||||||
|
--user "$zulip_notify_bot_email" \
|
||||||
|
--api-key "$zulip_api_key" \
|
||||||
|
--stream "$zulip_notify_stream" \
|
||||||
|
--subject "$deploy_environment deploy" \
|
||||||
|
--message "$1"
|
||||||
|
}
|
||||||
7
puppet/zulip/files/hooks/post-deploy.d/zulip_notify.hook
Normal file
7
puppet/zulip/files/hooks/post-deploy.d/zulip_notify.hook
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -u
|
||||||
|
|
||||||
|
source "$(dirname "$0")/../common/zulip_notify.sh"
|
||||||
|
zulip_send "Finished deploying from $from to $to on $(hostname)"
|
||||||
7
puppet/zulip/files/hooks/pre-deploy.d/zulip_notify.hook
Normal file
7
puppet/zulip/files/hooks/pre-deploy.d/zulip_notify.hook
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -u
|
||||||
|
|
||||||
|
source "$(dirname "$0")/../common/zulip_notify.sh"
|
||||||
|
zulip_send "Starting deploy from $from to $to on $(hostname)"
|
||||||
11
puppet/zulip/manifests/hooks/zulip_notify.pp
Normal file
11
puppet/zulip/manifests/hooks/zulip_notify.pp
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# @summary Install hook that notifies when a deploy starts/stops
|
||||||
|
#
|
||||||
|
class zulip::hooks::zulip_notify {
|
||||||
|
include zulip::hooks::base
|
||||||
|
|
||||||
|
zulip::hooks::file { [
|
||||||
|
'common/zulip_notify.sh',
|
||||||
|
'pre-deploy.d/zulip_notify.hook',
|
||||||
|
'post-deploy.d/zulip_notify.hook',
|
||||||
|
]: }
|
||||||
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
class zulip_ops::profile::prod_app_frontend {
|
class zulip_ops::profile::prod_app_frontend {
|
||||||
include zulip_ops::profile::base
|
include zulip_ops::profile::base
|
||||||
include zulip_ops::app_frontend
|
include zulip_ops::app_frontend
|
||||||
|
include zulip::hooks::zulip_notify
|
||||||
|
|
||||||
file { '/etc/nginx/sites-available/zulip':
|
file { '/etc/nginx/sites-available/zulip':
|
||||||
ensure => file,
|
ensure => file,
|
||||||
|
|||||||
Reference in New Issue
Block a user