[Qa-jenkins-scm] [Git][qa/jenkins.debian.net][master] 2 commits: add support for using Bash's debugging functions - thanks to Sam Morris <sam at robots.org.uk>
Holger Levsen
gitlab at salsa.debian.org
Thu Apr 11 15:04:27 BST 2019
Holger Levsen pushed to branch master at Debian QA / jenkins.debian.net
Commits:
6a406c32 by Holger Levsen at 2019-04-11T10:37:47Z
add support for using Bash's debugging functions - thanks to Sam Morris <sam at robots.org.uk>
Signed-off-by: Holger Levsen <holger at layer-acht.org>
- - - - -
a24c3aa9 by Holger Levsen at 2019-04-11T14:04:16Z
reproducible Debian: re-add host profitbricks7 and use it to host buildinfos.debian.net
Signed-off-by: Holger Levsen <holger at layer-acht.org>
- - - - -
9 changed files:
- THANKS.head
- bin/common-functions.sh
- bin/reproducible_html_nodes_info.sh
- hosts/jenkins/etc/apache2/sites-available/jenkins.debian.net.conf
- + hosts/profitbricks-build7-amd64/etc/apache2/ports.conf
- + hosts/profitbricks-build7-amd64/etc/apache2/sites-available/buildinfos.debian.net.conf
- job-cfg/reproducible.yaml
- nodes/list.yml
- update_jdn.sh
Changes:
=====================================
THANKS.head
=====================================
@@ -14,6 +14,7 @@ Debian packages for t.r-b.o
Debian packages for t.r-b.o
** 16 cores and 48 GB memory for profitbricks-build15-amd64.debian.net used for building amd64 Debian packages for t.r-b.o, running in the future
** 9 cores and 36 GB memory for profitbricks-build16-i386.debian.net sed for building i386 Debian packages for t.r-b.o, running in the future
+ ** 2 cores and 8 GB memory for profitbricks-build7-amd64.debian.net used for buildinfos.debian.net
** 5 cores and 10 GB memory for profitbricks-build9-amd64.debian.net used for rebootstrap jobs
** 4 cores and 12 GB memory for profitbricks-build10-amd64.debian.net used for chroot-installation jobs
** 9 cores and 19 GB memory for freebsd-jenkins.debian.net (also running on Profitbricks virtual hardware), used for building FreeBSD for t.r-b.o
=====================================
bin/common-functions.sh
=====================================
@@ -174,6 +174,9 @@ else
if $DEBUG ; then
set -x
fi
+ if $DEEPDEBUG ; then
+ PS4=$'$? \\ (${BASH_SOURCE[0]}:${LINENO}): ${FUNCNAME[0]:--} [SHLVL=${SHLVL} BASH_SUBSHELL=${BASH_SUBSHELL}]\n '
+ fi
set -e
export DEBIAN_FRONTEND=noninteractive
export LC_ALL=$LC_ALL
@@ -184,6 +187,9 @@ else
export
set -x
fi
+ if $DEEPDEBUG ; then
+ PS4=$'$? \\ (${BASH_SOURCE[0]}:${LINENO}): ${FUNCNAME[0]:--} [SHLVL=${SHLVL} BASH_SUBSHELL=${BASH_SUBSHELL}]\n '
+ fi
set -e
fi
}
=====================================
bin/reproducible_html_nodes_info.sh
=====================================
@@ -17,6 +17,7 @@ common_init "$@"
explain_nodes() {
case $JENKINS_NODENAME in
jenkins) ;;
+ profitbricks7) write_page "<br /><small>(buildinfos.debian.net)</small>" ;;
profitbricks9) write_page "<br /><small>(jenkins.d.n rebootstrap jobs)</small>" ;;
profitbricks10) write_page "<br /><small>(jenkins.d.n chroot-installation jobs)</small>" ;;
osuosl167) write_page "<br /><small>(http-proxy for osuosl nodes)</small>" ;;
@@ -109,6 +110,7 @@ build_nodes_health_page() {
# worker.log links
case $JENKINS_NODENAME in
jenkins) write_page "<td></td>" ;;
+ profitbricks7) write_page "<td></td>" ;;
profitbricks9) write_page "<td></td>" ;;
profitbricks10) write_page "<td></td>" ;;
osuosl*) write_page "<td></td>" ;;
@@ -125,6 +127,7 @@ build_nodes_health_page() {
for SUITE in ${SUITES} ; do
case $JENKINS_NODENAME in
jenkins) write_page "<td></td>" ;;
+ profitbricks7) write_page "<td></td>" ;;
profitbricks9) write_page "<td></td>" ;;
profitbricks10) write_page "<td></td>" ;;
osuosl*) write_page "<td></td>" ;;
@@ -211,6 +214,7 @@ build_graph_overview_pages() {
if [ "$GRAPH" = "jenkins_reproducible_builds" ] ; then
case $JENKINS_NODENAME in
jenkins) write_page "<td></td>" ; continue ;;
+ profitbricks7) write_page "<td></td>" ; continue ;;
profitbricks9) write_page "<td></td>" ; continue ;;
profitbricks10) write_page "<td></td>" ; continue ;;
osuosl*) write_page "<td></td>" ; continue ;;
=====================================
hosts/jenkins/etc/apache2/sites-available/jenkins.debian.net.conf
=====================================
@@ -106,7 +106,6 @@ Use https-redirect reproducible-builds.org
Use https-redirect www.reproducible-builds.org
Use https-redirect diffoscope.org
Use https-redirect www.diffoscope.org
-Use https-redirect buildinfos.debian.net
<VirtualHost *:80>
Use common-directives tests.reproducible-builds.org
@@ -289,11 +288,3 @@ Use https-redirect buildinfos.debian.net
# just redirect everything to the new hostname
Redirect permanent / https://tests.reproducible-builds.org/
</VirtualHost>
-
-<VirtualHost *:443>
- use common-directives buildinfos.debian.net
- Use common-directives-ssl buildinfos.debian.net
- AddDefaultCharset utf-8
- RedirectMatch permanent ^/$ https://buildinfos.debian.net/ftp-master.debian.org/buildinfo/
- DocumentRoot /var/lib/jenkins/userContent/reproducible/debian/
-</VirtualHost>
=====================================
hosts/profitbricks-build7-amd64/etc/apache2/ports.conf
=====================================
@@ -0,0 +1,23 @@
+# If you just change the port or add more ports here, you will likely also
+# have to change the VirtualHost statement in
+# /etc/apache2/sites-enabled/000-default
+# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
+# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
+# README.Debian.gz
+
+#NameVirtualHost *:80
+Listen 80
+
+<IfModule mod_ssl.c>
+ # If you add NameVirtualHost *:443 here, you will also have to change
+ # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
+ # to <VirtualHost *:443>
+ # Server Name Indication for SSL named virtual hosts is currently not
+ # supported by MSIE on Windows XP.
+ Listen 443
+</IfModule>
+
+<IfModule mod_gnutls.c>
+ Listen 443
+</IfModule>
+
=====================================
hosts/profitbricks-build7-amd64/etc/apache2/sites-available/buildinfos.debian.net.conf
=====================================
@@ -0,0 +1,101 @@
+<Macro https-redirect $name>
+ <VirtualHost *:80>
+ ServerName $name
+ ServerAdmin holger at layer-acht.org
+ Redirect permanent / https://$name/
+ </VirtualHost>
+</Macro>
+
+<Macro common-directives-ssl $name>
+ SSLEngine on
+ SSLCertificateKeyFile /etc/apache2/ssl/$name.key
+ SSLCertificateFile /etc/apache2/ssl/$name.pem
+ SSLCipherSuite HIGH:!aNULL:!eNULL:!EXP:!LOW:!MD5
+ SSLHonorCipherOrder on
+ Header always add Strict-Transport-Security "max-age=15552000"
+</Macro>
+
+<Macro common-directives $name>
+ ServerName $name
+ ServerAdmin holger at layer-acht.org
+
+ #block bad bots with a 403
+ SetEnvIf User-Agent "AhrefsBot" bad_bot
+ SetEnvIf User-Agent "Baiduspider" bad_bot
+ SetEnvIf User-Agent "bingbot" bad_bot
+ SetEnvIf User-Agent "DotBot" bad_bot
+ SetEnvIf User-Agent "Exabot" bad_bot
+ SetEnvIf User-Agent "Experibot" bad_bot
+ SetEnvIf User-Agent "facebookexternalhit" bad_bot
+ SetEnvIf User-Agent "FlipboardProxy" bad_bot
+ SetEnvIf User-Agent "Googlebot" bad_bot
+ SetEnvIf User-Agent "ltx71" bad_bot
+ SetEnvIf User-Agent "mediawords" bad_bot
+ SetEnvIf User-Agent "MetaURI" bad_bot
+ SetEnvIf User-Agent "MJ12bot" bad_bot
+ SetEnvIf User-Agent "SemrushBot" bad_bot
+ SetEnvIf User-Agent "Slackbot" bad_bot
+ SetEnvIf User-Agent "Sogou" bad_bot
+ SetEnvIf User-Agent "Twitterbot" bad_bot
+ SetEnvIf User-Agent "yacybot" bad_bot
+ SetEnvIf User-Agent "ZoomBot" bad_bot
+ #end block bad bots
+
+ <Directory />
+ Options FollowSymLinks
+ AllowOverride None
+ <Limit GET POST HEAD>
+ Order Allow,Deny
+ Allow from all
+ Deny from env=bad_bot
+ </Limit>
+ </Directory>
+ <Directory /var/www/>
+ Options Indexes FollowSymLinks MultiViews
+ AllowOverride None
+ Require all granted
+ AddType text/plain .log
+ <Limit GET POST HEAD>
+ Order Allow,Deny
+ Allow from all
+ Deny from env=bad_bot
+ </Limit>
+ </Directory>
+ <Directory /var/lib/jenkins/userContent>
+ Options Indexes FollowSymLinks MultiViews
+ AllowOverride None
+ Require all granted
+ AddType text/plain .log
+ <Limit GET POST HEAD>
+ Order Allow,Deny
+ Allow from all
+ Deny from env=bad_bot
+ </Limit>
+ </Directory>
+
+ <FilesMatch "\.gz$">
+ Header append Content-Encoding gzip
+ # this causes errors 406 to client connecting without Accept-Encoding=gzip.
+ #AddEncoding gzip .gz
+ ForceType text/plain
+ </FilesMatch>
+
+ RewriteEngine on
+ ProxyRequests Off
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ # Possible values include: debug, info, notice, warn, error, crit,
+ # alert, emerg.
+ LogLevel warn
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+</Macro>
+
+Use https-redirect buildinfos.debian.net
+
+<VirtualHost *:443>
+ use common-directives buildinfos.debian.net
+ Use common-directives-ssl buildinfos.debian.net
+ AddDefaultCharset utf-8
+ RedirectMatch permanent ^/$ https://buildinfos.debian.net/ftp-master.debian.org/buildinfo/
+ DocumentRoot /var/lib/jenkins/userContent/reproducible/debian/
+</VirtualHost>
=====================================
job-cfg/reproducible.yaml
=====================================
@@ -322,6 +322,7 @@
- 'profitbricks2': { my_arch: 'i386' }
- 'profitbricks5': { my_arch: 'amd64' }
- 'profitbricks6': { my_arch: 'i386' }
+ - 'profitbricks7': { my_arch: 'amd64' }
- 'profitbricks9': { my_arch: 'amd64' }
- 'profitbricks10': { my_arch: 'amd64' }
- 'profitbricks11': { my_arch: 'amd64' }
@@ -381,6 +382,7 @@
- 'profitbricks2': { my_arch: 'i386' }
- 'profitbricks5': { my_arch: 'amd64' }
- 'profitbricks6': { my_arch: 'i386' }
+ - 'profitbricks7': { my_arch: 'amd64' }
- 'profitbricks9': { my_arch: 'amd64' }
- 'profitbricks10': { my_arch: 'amd64' }
- 'profitbricks11': { my_arch: 'amd64' }
=====================================
nodes/list.yml
=====================================
@@ -22,6 +22,10 @@
ip: 213.244.192.14
keys:
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAMBF2j2Xq41fXFC2z5O23AMB4wRqkiisge5hv8BjUxG root at profitbricks-build6-i386
+- hostname: profitbricks-build7-amd64.debian.net
+ ip: 157.97.110.83
+ keys:
+ - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH/0IyXWVtgFqrOwwe68VUhbs6fj4wFqKWPgPRI0NOat root at debian
- hostname: profitbricks-build9-amd64.debian.net
ip: 46.16.78.222
keys:
=====================================
update_jdn.sh
=====================================
@@ -290,10 +290,12 @@ if [ -f /etc/debian_version ] ; then
osuosl-build173-amd64) DEBS="$DEBS libdpkg-perl libwww-mechanize-perl sbuild" ;;
*) ;;
esac
- # install squid on a few nodes only
+ # install squid / apache2 on a few nodes only
case $HOSTNAME in
profitbricks-build1-a*|profitbricks-build10*|codethink-sled16*|osuosl-build167*) DEBS="$DEBS
squid" ;;
+ profitbricks-build7-a*) DEBS="$DEBS
+ apache2" ;;
*) ;;
esac
# notifications are only done from a view nodes
@@ -539,7 +541,7 @@ sudo chown root.root /etc/sudoers.d/jenkins ; sudo chmod 700 /etc/sudoers.d/jenk
sudo chown root.root /etc/sudoers.d/jenkins-adm ; sudo chmod 700 /etc/sudoers.d/jenkins-adm
[ -f /etc/mailname ] || ( echo $HOSTNAME.debian.net | sudo tee /etc/mailname )
-if [ "$HOSTNAME" = "jenkins" ] ; then
+if [ "$HOSTNAME" = "jenkins" ] || [ "$HOSTNAME" = "profitbricks-build7-amd64" ] ; then
if ! $UP2DATE || [ $BASEDIR/hosts/$HOSTNAME/etc/apache2 -nt $STAMP ] ; then
if [ ! -e /etc/apache2/mods-enabled/proxy.load ] ; then
sudo a2enmod proxy
@@ -550,9 +552,14 @@ if [ "$HOSTNAME" = "jenkins" ] ; then
sudo a2enmod macro
sudo a2enmod filter
fi
- sudo a2ensite -q jenkins.debian.net
+ if [ "$HOSTNAME" = "jenkins" ] ; then
+ sudo a2ensite -q jenkins.debian.net
+ sudo chown jenkins-adm.jenkins-adm /etc/apache2/sites-enabled/jenkins.debian.net.conf
+ else # "$HOSTNAME" = "profitbricks-build7-amd64"
+ sudo a2ensite -q buildinfos.debian.net
+ sudo chown jenkins-adm.jenkins-adm /etc/apache2/sites-enabled/buildinfos.debian.net.conf
+ fi
sudo a2enconf -q munin
- sudo chown jenkins-adm.jenkins-adm /etc/apache2/sites-enabled/jenkins.debian.net.conf
# for reproducible.d.n url rewriting:
[ -L /var/www/userContent ] || sudo ln -sf /var/lib/jenkins/userContent /var/www/userContent
sudo service apache2 reload
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/compare/293b65633e47daca89352a8667b8216d7145884b...a24c3aa9d6b9749fa370bebbf218cb1d402edc23
--
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/compare/293b65633e47daca89352a8667b8216d7145884b...a24c3aa9d6b9749fa370bebbf218cb1d402edc23
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/qa-jenkins-scm/attachments/20190411/b9bdb8e0/attachment-0001.html>
More information about the Qa-jenkins-scm
mailing list