So installieren und konfigurieren Sie Buildbot unter CentOS 7

Buildbot ist ein Open Source, Python-basiertes, kontinuierliches Integrationstool zur Automatisierung der Erstellung, des Testens und der Bereitstellung von Software. Buildbot besteht aus einem oder mehreren Buildbot-Mastern und mehreren Arbeitern. Buildbot Master oder Buildmaster hat die zentrale Steuerung des Systems. Es ist für die Verwaltung der Build-Umgebung und der Mitarbeiter verantwortlich und trifft alle Entscheidungen über das Senden von Jobs an die Mitarbeiter. Buildmaster erkennt Änderungen im Code-Repository und sendet die Befehle oder Jobs zur Ausführung an die Worker. Arbeiter führen die Jobs aus und geben das Ergebnis an den Buildmaster zurück. Buildmaster benachrichtigt die Entwickler dann über mehrere unterstützte Kanäle. In diesem Tutorial installieren wir Buildbot Master und Worker unter CentOS 7. Außerdem konfigurieren wir Authentifizierung und Nginx als gesicherten Reverse-Proxy.

Voraussetzungen

  • Eine Vultr CentOS 7-Serverinstanz mit mindestens 1 GB RAM.
  • Ein Sudo-Benutzer .
  • Ein registrierter Domainname zeigte auf den Server.

In diesem Tutorial verwenden wir 192.168.1.1als öffentliche IP-Adresse und ci.example.comals Domainnamen, der auf die Vultr-Instanz verweist. Stellen Sie sicher, dass alle Vorkommen des Beispieldomänennamens und der IP-Adresse durch die tatsächliche ersetzt werden.

Aktualisieren Sie Ihr Basissystem mithilfe der Anleitung zum Aktualisieren von CentOS 7 . Fahren Sie nach der Aktualisierung Ihres Systems mit der Installation von PostgreSQL fort.

Installieren Sie Python-Abhängigkeiten

Installieren Sie Pip, einen Paketmanager für Python.

sudo yum -y install epel-release
sudo yum -y install python-pip gcc python-devel git
sudo pip install --upgrade pip

Installieren Sie PostgreSQL

Buildbot unterstützt mehrere Arten von Datenbankservern wie MySQL, PostgreSQL und SQLite. In diesem Tutorial verwenden wir PostgreSQL, um den Buildbot-Datenbankserver zu hosten.

PostgreSQL ist ein objektrelationales Datenbanksystem, das für seine Stabilität und Geschwindigkeit bekannt ist. Das Standard- yumRepository enthält eine alte Version von PostgreSQL. Fügen Sie daher das PostgreSQL-Repository hinzu.

sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm

Installieren Sie den PostgreSQL-Datenbankserver.

sudo yum -y install postgresql10-server postgresql10-contrib postgresql10 

Initialisieren Sie die Datenbank.

sudo /usr/pgsql-10/bin/postgresql-10-setup initdb

Starten Sie den PostgreSQL-Server und aktivieren Sie ihn beim Start automatisch.

sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10

Ändern Sie das Kennwort für den Standardbenutzer von PostgreSQL.

sudo passwd postgres

Melden Sie sich als PostgreSQL-Benutzer an.

sudo su - postgres

Erstellen Sie einen neuen PostgreSQL-Benutzer für Buildbot.

createuser bb_user

Sie können stattdessen einen beliebigen Benutzernamen verwenden bb_user, wenn Sie dies bevorzugen. PostgreSQL bietet die psqlShell zum Ausführen von Abfragen in der Datenbank. Wechseln Sie zur PostgreSQL-Shell.

psql

Legen Sie ein Passwort für den neu erstellten Benutzer fest.

ALTER USER bb_user WITH ENCRYPTED password 'DBPassword';

Durch DBPasswordein sicheres Passwort ersetzen .

Erstellen Sie eine neue Datenbank für die Buildbot-Installation.

CREATE DATABASE buildbot OWNER bb_user;

Verlasse die psqlShell.

\q

Wechseln Sie zum sudoBenutzer.

exit

Bearbeiten Sie die pg_hba.confDatei, um die MD5-basierte Authentifizierung zu aktivieren.

sudo nano /var/lib/pgsql/10/data/pg_hba.conf

Finden Sie die folgenden Zeilen , und ändern Sie die Werte peerund identin der METHODSpalte auf trustund md5sind.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

Nach der Aktualisierung sieht die Konfiguration wie folgt aus.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

Speichern Sie die Datei und beenden Sie den Editor. Installieren Sie den PostgreSQL-Datenbankadapter für Python.

sudo pip install psycopg2

Starten Sie PostgreSQL neu, damit die Änderungen wirksam werden.

sudo systemctl restart postgresql-10

Installieren Sie Buildbot

Installieren Sie Buildbot mit Pip.

sudo pip install 'buildbot[bundle]' pyopenssl service_identity

Der obige Befehl wird installieren Buildbot zusammen mit buildbot-www, buildbot-workerund mehrere Web - Plugins wie buildbot-waterfall-view.

Um sicherzustellen, dass Buildbot erfolgreich installiert wurde, können Sie dies überprüfen, indem Sie die Version von Buildbot überprüfen.

buildbot --version

Die Ausgabe sollte dem folgenden Text ähneln.

[user@vultr ~]$ buildbot --version
Buildbot version: 0.9.15.post1
Twisted version: 17.9.0

Ändern Sie Ihre Firewall-Regeln, um den Port zuzulassen 8010. Buildbot verwendet diesen Port, um die Webanforderungen abzuhören.

sudo firewall-cmd --zone=public --add-port=8010/tcp --permanent
sudo firewall-cmd --reload

Konfigurieren Sie den Buildbot-Master

Erstellen Sie einen neuen nicht privilegierten Benutzer, um Buildbot-Master- und Worker-Prozesse auszuführen. Es wird nicht empfohlen, Buildbot-Masterdienste als rootBenutzer auszuführen .

sudo adduser buildbot
sudo passwd buildbot

Melden Sie sich als neu erstellter buildbotBenutzer an.

sudo su - buildbot

Richten Sie den Buildbot-Master im /home/buildbot/masterVerzeichnis ein. Dieses Verzeichnis enthält die Konfigurations-, Status- und Protokolldateien jedes Builds.

buildbot create-master --db 'postgresql://bb_user:DBPassword@localhost/buildbot' ~/master

Stellen Sie sicher, dass Sie die Anmeldeinformationen des Datenbankbenutzers im obigen Befehl ersetzen.

Hinweis: Wenn Sie die SQLite-Datenbank anstelle von PostgreSQL verwenden möchten, lassen Sie die --db 'postgresql://bb_user:DBpassword@localhost/buildbot'Option einfach weg . Die SQLite-Datenbank wird im selben Verzeichnis erstellt.

Mit dem obigen Befehl wird das ~/masterVerzeichnis zum Speichern der Buildmaster-Dateien erstellt. Außerdem werden die Daten in die PostgreSQL-Datenbank geschrieben. Sie erhalten die folgende Ausgabe.

[buildbot@vultr ~]$ buildbot create-master --db 'postgresql://bb_user:DBPassword@localhost/buildbot' ~/master
mkdir /home/buildbot/master
creating /home/buildbot/master/master.cfg.sample
creating database (postgresql://bb_user:DBPassword@localhost/buildbot)
buildmaster configured in /home/buildbot/master

Kopieren Sie die Beispielkonfigurationsdatei in eine Live-Konfigurationsdatei.

cp ~/master/master.cfg.sample ~/master/master.cfg

Bearbeiten Sie die Konfigurationsdatei.

nano ~/master/master.cfg

Suchen Sie die folgenden Zeilen.

c['workers'] = [worker.Worker("example-worker", "pass")]
...

c['builders'].append(
    util.BuilderConfig(name="runtests",
      workernames=["example-worker"],
      factory=factory))
...

c['title'] = "Hello World CI"
c['titleURL'] = "https://buildbot.github.io/hello-world/"
...

c['buildbotURL'] = "http://localhost:8010/"
...

c['db'] = {
    'db_url' : "postgresql://bb_user:DBpassword@localhost/buildbot",
}

Die obige Konfiguration enthält einen Eintrag für einen Beispielarbeiter. Wir werden den Beispieleintrag für den Worker ändern, auf dem wir ausgeführt werden localhost. Ändern Sie das example-workerin einen geeigneten Namen für den localhostArbeiter und ändern Sie das passin ein anderes Passwort. Notieren Sie sich den Namen und das Kennwort des Arbeitnehmers, da dies später im Lernprogramm erforderlich sein wird. Ändern Sie den Namen des Workers in der Liste der Builder. Ändern Sie den Namen der Anwendung und die Projekt-URL entsprechend Ihren Anforderungen.

Ändern Sie die Buildbot-URL von localhostin Ihren tatsächlichen Domainnamen oder Ihre öffentliche IP-Adresse. Stellen Sie außerdem sicher, dass die Datenbankinformationen in der Konfigurationsdatei mit Ihren tatsächlichen Datenbankanmeldeinformationen übereinstimmen.

Fügen Sie am Ende der Datei hinzu c['buildbotNetUsageData'] = None. Dieser Parameter deaktiviert das Senden der Softwareversionsinformationen und der Plugin-Verwendungsdetails an die Entwickler. Um jedoch das Senden der Verwendungsinformationen zu aktivieren, ändern Sie die Option in Full.

Die Konfiguration sollte wie folgt aussehen.

c['workers'] = [worker.Worker("localhost-worker", "Password123")]
...    

c['builders'].append(
    util.BuilderConfig(name="runtests",
      workernames=["localhost-worker"],
      factory=factory))
...

c['title'] = "My Application CI"
c['titleURL'] = "https://example.com/my-app"
...

c['buildbotURL'] = "http://192.168.1.1:8010/"
...

c['db'] = {
    'db_url' : "postgresql://bb_user:DBpassword@localhost/buildbot",
}
...

c['buildbotNetUsageData'] = None

Speichern Sie die Datei und beenden Sie den Editor. Überprüfen Sie die Konfigurationsdatei auf Fehler.

buildbot checkconfig ~/master

Wenn die Konfigurationsdatei keine Fehler enthält, wird die folgende Ausgabe angezeigt.

[buildbot@vultr ~]$ buildbot checkconfig ~/master
Config file is good!

Nachdem alles richtig konfiguriert ist, können Sie den Buildbot-Master starten.

buildbot start ~/master

Sie sehen die folgende Ausgabe.

[buildbot@vultr ~]$ buildbot start ~/master
Following twistd.log until startup finished..
The buildmaster appears to have (re)started correctly.

Nachdem der Buildbot-Master korrekt gestartet wurde, kann auf die Webbenutzeroberfläche unter zugegriffen werden http://192.168.1.1:8010. Sie sollten die folgende Buildbot-Oberfläche sehen.

So installieren und konfigurieren Sie Buildbot unter CentOS 7

Konfigurieren Sie Buildbot Worker

Da wir die Worker-Konfiguration bereits geändert haben ~/master/master.cfg, können wir einen neuen Worker erstellen.

buildbot-worker create-worker ~/worker localhost localhost-worker Password123

Stellen Sie sicher, dass Sie genau den gleichen Arbeiternamen und das gleiche Kennwort wie in der ~/master/master.cfgDatei angegeben verwenden. Wenn der Name oder das Kennwort des Arbeiters nicht übereinstimmen, kann der Arbeiter keine Verbindung zum Buildbot-Master herstellen. Nach erfolgreicher Ausführung wird die folgende Ausgabe angezeigt.

[buildbot@vultr ~]$ buildbot-worker create-worker ~/worker localhost example-worker pass
mkdir /home/buildbot/worker
mkdir /home/buildbot/worker/info
Creating info/admin, you need to edit it appropriately.
Creating info/host, you need to edit it appropriately.
Not creating info/access_uri - add it if you wish
Please edit the files in /home/buildbot/worker/info appropriately.
worker configured in /home/buildbot/worker

Informationen über den Worker werden im /infoVerzeichnis gespeichert . Bearbeiten Sie die Verwaltungsinformationen zum Entwickler.

nano ~/worker/info/admin

Ersetzen Sie den Beispielnamen durch Ihren tatsächlichen Namen und Ihre E-Mail-Adresse.

Your Name <[email protected]>

Öffnen Sie nun die Datei mit Informationen zum Host.

nano ~/worker/info/host

Ersetzen Sie die Beispielanweisung durch die tatsächlichen Informationen zum Hostsystem.

Localhost, CentOS 7

Die Worker-Administrator- und Hostinformationen werden nur verwendet, um die Benutzer über das System zu informieren. Sie können auch zusätzliche Informationen zum System hinzufügen, z. B. Buildbot-Version und Twisted-Version.

Starten Sie den Arbeiter.

buildbot-worker start ~/worker

Die Ausgabe sieht wie folgt aus.

[buildbot@vultr ~]$ buildbot-worker start ~/worker
Following twistd.log until startup finished..
The buildbot-worker appears to have (re)started correctly.

Um zu überprüfen, ob der Worker registriert ist, rufen Sie die Weboberfläche von Buildbot auf und navigieren Sie Builds >> Workersvon links zu. Sie sollten sehen, dass der Arbeiter bereit ist, zu bauen.

So installieren und konfigurieren Sie Buildbot unter CentOS 7

Navigieren Sie zu, um einen Beispielbuild auszuführen und zu überprüfen, ob der Buildbot-Worker erfolgreich ausgeführt wird Builds >> Builders. Klicken Sie auf den runtestsBuilder-Namen, um die Builder-Oberfläche zu öffnen, und klicken Sie auf die ForceSchaltfläche, um einen Build zu erzwingen. Geben Sie Ihren Namen ein und klicken Sie auf die Start BuildSchaltfläche, um den Build zu starten. Da es sich um einen Beispiel-Build-Test zum Überprüfen der Buildbot-Umgebung handelt, wird er in wenigen Sekunden abgeschlossen. Sie erhalten eine Erfolgsmeldung und das Build-Ergebnis.

So installieren und konfigurieren Sie Buildbot unter CentOS 7

Systemd Service einrichten

Obwohl der Buildbot-Master und -Arbeiter mit den obigen Befehlen einfach gestartet werden kann, wird empfohlen, Systemd-Einheiten zum Ausführen und Verwalten der Buildbot-Dienste zu verwenden. Dadurch wird sichergestellt, dass sie beim Neustart des Systems und bei Fehlern automatisch gestartet werden.

Hinweis: Wechseln Sie erneut zum sudoBenutzer, indem Sie entweder exitoder ausführen su <username>. Von nun an müssen alle Befehle vom sudoBenutzer ausgeführt werden .

Beenden Sie den laufenden Buildbot-Worker und Master-Service.

sudo su buildbot -c "buildbot stop /home/buildbot/master" 
sudo su buildbot -c "buildbot-worker stop ~/worker"

Erstellen Sie eine neue Systemd-Einheitendatei für den Buildbot-Master.

sudo nano /etc/systemd/system/buildbot.service

Füllen Sie die Datei.

[Unit]
Description=BuildBot master service 
After=network.target

[Service]
Type=forking
User=buildbot 
Group=buildbot 
WorkingDirectory=/home/buildbot/master 
ExecStart=/usr/bin/buildbot start
ExecStop=/usr/bin/buildbot stop
ExecReload=/usr/bin/buildbot restart

[Install]
WantedBy=multi-user.target

Starten Sie den Buildbot-Master und aktivieren Sie ihn, um beim Booten automatisch zu starten.

sudo systemctl start buildbot
sudo systemctl enable buildbot

Erstellen Sie eine neue Systemd-Einheitendatei für den Buildbot-Worker.

sudo nano /etc/systemd/system/buildbot-worker.service

Füllen Sie die Datei.

[Unit]
Description=BuildBot worker service
After=network.target

[Service]
Type=forking
User=buildbot
Group=buildbot
WorkingDirectory=/home/buildbot/worker
ExecStart=/usr/bin/buildbot-worker start
ExecStop=/usr/bin/buildbot-worker stop
ExecReload=/usr/bin/buildbot-worker restart

[Install]
WantedBy=multi-user.target

Starten Sie den Buildbot-Worker und aktivieren Sie ihn, damit er beim Booten automatisch gestartet wird.

sudo systemctl start buildbot-worker
sudo systemctl enable buildbot-worker

Sie können den Status der Dienste überprüfen.

sudo systemctl status buildbot buildbot-worker

Wenn die Dienste reibungslos ausgeführt werden, sehen Sie dies in der Ausgabe.

[user@vultr ~]$ sudo systemctl status buildbot buildbot-worker
● buildbot.service - BuildBot master service
...
Active: active (running) since Fri 2018-01-12 16:00:59 UTC; 1min 25s ago
...
Jan 12 16:00:59 vultr.guest systemd[1]: Started BuildBot master service.

● buildbot-worker.service - BuildBot worker service
...
Active: active (running) since Fri 2018-01-12 16:02:00 UTC; 24s ago
...
Jan 12 16:02:00 vultr.guest systemd[1]: Started BuildBot worker service.

Aktivieren der Authentifizierung

Standardmäßig ist die Authentifizierung in der Buildbot-Weboberfläche nicht aktiviert. Für Websites mit Internetanschluss wird dringend empfohlen, die Authentifizierung so einzurichten, dass nur autorisierte Benutzer Verwaltungsaufgaben ausführen können. Öffnen Sie zum Einrichten der Authentifizierung die Buildbot-Masterkonfigurationsdatei erneut.

sudo su buildbot -c "nano /home/buildbot/master/master.cfg"

Fügen Sie die folgenden Zeilen am Ende der Datei hinzu.

c['www']['authz'] = util.Authz(
       allowRules = [
           util.AnyEndpointMatcher(role="admins")
       ],
       roleMatchers = [
           util.RolesFromUsername(roles=['admins'], usernames=['admin_user'])
       ]
)
c['www']['auth'] = util.UserPasswordAuth({'admin_user': 'AdminPassword'})

Ersetzen Sie beide Vorkommen von admin_userdurch den tatsächlichen Benutzernamen, den Sie verwenden möchten, und AdminPassworddurch ein sicheres Kennwort.

Überprüfen Sie die Konfigurationsdatei auf Fehler.

sudo su buildbot -c "buildbot checkconfig /home/buildbot/master"

Starten Sie den Buildbot-Masterdienst neu, damit die Änderungen wirksam werden.

sudo systemctl restart buildbot

Durchsuchen Sie die Weboberfläche erneut, um festzustellen, dass die anonymen Benutzer nur die grundlegenden Details zum Build-Server anzeigen können. Melden Sie sich jetzt mit den in der master.cfgDatei festgelegten Anmeldeinformationen an, und Sie werden sehen, dass alle anderen Verwaltungsfunktionen nur dem angemeldeten Administrator zur Verfügung stehen.

Sichern von Buildbot mit Let's Encrypt SSL

Standardmäßig überwacht Buildbot den Port 8010bei ungesicherten Verbindungen. Das Sichern der Weboberfläche mit HTTPSwird empfohlen, um sicherzustellen, dass die Daten während des Transports vom Browser zum Server sicher sind. In diesem Abschnitt des Tutorials installieren und sichern wir Nginx mit Let's Encrypt-freien SSL-Zertifikaten. Der Nginx-Webserver fungiert als Reverse-Proxy, um die eingehenden Anforderungen an den HTTP-Endpunkt von Buildbot weiterzuleiten.

Installieren Sie Nginx.

sudo yum -y install nginx

Starten Sie Nginx und aktivieren Sie es, um es beim Booten automatisch zu starten.

sudo systemctl start nginx
sudo systemctl enable nginx

Installieren Sie Certbot, die Clientanwendung für Let's Encrypt CA.

sudo yum -y install certbot

Bevor Sie die Zertifikate anfordern können, müssen Sie Ports 80und / 443oder Standards HTTPund HTTPSDienste über die Firewall zulassen . Entfernen Sie auch den Port 8010, der die ungesicherten Verbindungen abhört.

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --zone=public --remove-port=8010/tcp --permanent
sudo firewall-cmd --reload

Hinweis: Um Zertifikate von Let's Encrypt CA zu erhalten, muss die Domäne, für die die Zertifikate generiert werden sollen, auf den Server gerichtet sein. Wenn nicht, nehmen Sie die erforderlichen Änderungen an den DNS-Einträgen der Domäne vor und warten Sie, bis sich der DNS verbreitet hat, bevor Sie die Zertifikatanforderung erneut stellen. Certbot überprüft die Domänenautorität, bevor die Zertifikate bereitgestellt werden.

Generieren Sie die SSL-Zertifikate.

sudo certbot certonly --webroot -w /usr/share/nginx/html -d ci.example.com

Die generierten Zertifikate werden wahrscheinlich im /etc/letsencrypt/live/ci.example.com/Verzeichnis gespeichert . Das SSL-Zertifikat wird als gespeichert fullchain.pemund der private Schlüssel wird als gespeichert privkey.pem.

Lassen Sie uns Zertifikate verschlüsseln, die in 90 Tagen ablaufen. Daher wird empfohlen, die automatische Erneuerung der Zertifikate mithilfe von Cron-Jobs einzurichten.

Öffnen Sie die Cron-Jobdatei für den rootBenutzer.

sudo crontab -e

Fügen Sie am Ende der Datei die folgende Zeile hinzu.

30 5 * * * /usr/bin/certbot renew --quiet

Der oben genannte Cron-Job wird jeden Tag um 5:30 Uhr ausgeführt. Wenn das Zertifikat abläuft, werden sie automatisch erneuert.

Ändern Sie nun die Nginx-Standardkonfigurationsdatei, um die default_serverZeile zu entfernen .

sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf

Erstellen Sie eine neue Konfigurationsdatei für die Buildbot-Weboberfläche.

sudo nano /etc/nginx/conf.d/buildbot.conf

Füllen Sie die Datei.

upstream buildbot {
server 127.0.0.1:8010;
}

server {
    listen 80 default_server;
    server_name ci.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2 default_server;
    server_name ci.example.com;

    root html;
    index index.html index.htm;

    ssl on;
    ssl_certificate         /etc/letsencrypt/live/ci.example.com/fullchain.pem;
    ssl_certificate_key     /etc/letsencrypt/live/ci.example.com/privkey.pem;

    ssl_session_cache      shared:SSL:10m;
    ssl_session_timeout  1440m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";

    access_log  /var/log/nginx/buildbot.access.log;

    proxy_set_header HOST $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto  $scheme;
    proxy_set_header X-Forwarded-Server  $host;
    proxy_set_header X-Forwarded-Host  $host;

    location / {
        proxy_pass http://buildbot;
    }
    location /sse/ {
        proxy_buffering off;
        proxy_pass http://buildbot/sse/;
    }
    location /ws {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_pass http://buildbot/ws;
        proxy_read_timeout 6000s;
    }
}

Überprüfen Sie die neue Konfigurationsdatei auf Fehler.

sudo nginx -t

Wenn Sie die folgende Ausgabe sehen, ist die Konfiguration fehlerfrei.

[user@vultr ~]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Wenn Sie einen Fehler erhalten haben, überprüfen Sie den Pfad zu den SSL-Zertifikaten. Starten Sie den Nginx-Webserver neu, um die Konfigurationsänderung zu implementieren.

sudo systemctl restart nginx

Öffnen Sie die Buildmaster-Konfigurationsdatei.

sudo su buildbot -c "nano /home/buildbot/master/master.cfg"

Suchen Sie die folgende Zeile.

c['buildbotURL'] = "http://192.168.1.1:8010/"

Ändern Sie die URL entsprechend dem von Ihnen verwendeten Domainnamen.

c['buildbotURL'] = "https://ci.example.com/"

Starten Sie den Buildbot-Masterdienst neu.

sudo systemctl restart buildbot

Jetzt können Sie unter auf das Buildbot-Dashboard zugreifen https://ci.example.com. Sie werden sehen, dass die Verbindungen zu Buildbot jetzt mit SSL gesichert sind.

So installieren und konfigurieren Sie Buildbot unter CentOS 7

Melden Sie sich mit den Administratoranmeldeinformationen an und fügen Sie Ihre erste Pipeline hinzu, um mit der Erstellung Ihrer Anwendung zu beginnen.



Leave a Comment

So installieren Sie MODX Revolution auf einem CentOS 7 LAMP VPS

So installieren Sie MODX Revolution auf einem CentOS 7 LAMP VPS

Verwenden Sie ein anderes System? MODX Revolution ist ein schnelles, flexibles, skalierbares, kostenloses und Open-Source-Content-Management-System (CMS) für Unternehmen, das i

Richten Sie mit OpenVPN Ihr eigenes privates Netzwerk ein

Richten Sie mit OpenVPN Ihr eigenes privates Netzwerk ein

Vultr bietet Ihnen eine hervorragende Konnektivität für private Netzwerke für Server, die am selben Standort ausgeführt werden. Aber manchmal möchten Sie zwei Server in verschiedenen Ländern

So installieren und konfigurieren Sie CyberPanel auf Ihrem CentOS 7-Server

So installieren und konfigurieren Sie CyberPanel auf Ihrem CentOS 7-Server

Verwenden Sie ein anderes System? Einführung CyberPanel ist eines der ersten Control Panels auf dem Markt, das sowohl Open Source als auch OpenLiteSpeed ​​verwendet. Was ist das?

Installieren Sie eSpeak unter CentOS 7

Installieren Sie eSpeak unter CentOS 7

Verwenden Sie ein anderes System? ESpeak kann TTS-Audiodateien (Text-to-Speech) generieren. Diese können aus vielen Gründen nützlich sein, z. B. um Ihr eigenes Turin zu erstellen

So installieren Sie Thelia 2.3 unter CentOS 7

So installieren Sie Thelia 2.3 unter CentOS 7

Verwenden Sie ein anderes System? Thelia ist ein Open-Source-Tool zum Erstellen von E-Business-Websites und zum Verwalten von Online-Inhalten, die in PHP geschrieben wurden. Thelia Quellcode i

So installieren Sie Cockpit unter CentOS 7

So installieren Sie Cockpit unter CentOS 7

Cockpit ist ein kostenloses Open Source-Programm für die Linux-Serververwaltung. Es ist sehr leicht und hat eine schöne, einfach zu bedienende Weboberfläche. Es erlaubt System

So richten Sie ein GitHub Style Wiki mit Gollum unter CentOS 7 ein

So richten Sie ein GitHub Style Wiki mit Gollum unter CentOS 7 ein

Gollum ist die Git-basierte Wiki-Software, die als Backend des GitHub-Wikis verwendet wird. Durch die Bereitstellung von Gollum können Sie ein GitHub-ähnliches Wiki-System auf Ihnen hosten

So stellen Sie Google BBR unter CentOS 7 bereit

So stellen Sie Google BBR unter CentOS 7 bereit

BBR (Bottleneck Bandwidth and RTT) ist ein neuer Algorithmus zur Überlastungskontrolle, der von Google zum Linux-Kernel-TCP-Stack hinzugefügt wird. Mit BBR an Ort und Stelle,

So installieren Sie YOURLS unter CentOS 7

So installieren Sie YOURLS unter CentOS 7

YOURLS (Your Own URL Shortener) ist eine Open-Source-Anwendung zur URL-Verkürzung und Datenanalyse. In diesem Artikel werden wir den Installationsprozess behandeln

Richten Sie Nginx-RTMP unter CentOS 7 ein

Richten Sie Nginx-RTMP unter CentOS 7 ein

Verwenden Sie ein anderes System? RTMP eignet sich hervorragend für die Bereitstellung von Live-Inhalten. Wenn RTMP mit FFmpeg gekoppelt ist, können Streams in verschiedene Qualitäten konvertiert werden. Vultr i

So installieren Sie LimeSurvey unter CentOS 7

So installieren Sie LimeSurvey unter CentOS 7

LimeSurvey ist ein kostenloses und Open-Source-Online-Umfragetool, das häufig zum Veröffentlichen von Online-Umfragen und zum Sammeln von Umfrage-Feedback verwendet wird. In diesem Artikel werde ich

Installieren Sie Java SE unter CentOS

Installieren Sie Java SE unter CentOS

Einführung Java ist eine beliebte Softwareplattform, mit der Sie Java-Anwendungen und -Applets in verschiedenen Hardwareumgebungen entwickeln und ausführen können. Es gibt

Installieren von Netdata unter CentOS 7

Installieren von Netdata unter CentOS 7

Verwenden Sie ein anderes System? Netdata ist ein aufstrebender Stern im Bereich der Echtzeitüberwachung von Systemmetriken. Im Vergleich zu anderen Tools der gleichen Art bietet Netdata:

So installieren Sie Just Cause 2 (JC2-MP) Server unter CentOS 7

So installieren Sie Just Cause 2 (JC2-MP) Server unter CentOS 7

In diesem Tutorial erfahren Sie, wie Sie einen Just Cause 2-Multiplayer-Server einrichten. Voraussetzungen Bitte stellen Sie sicher, dass das System vollständig aktualisiert ist, bevor Sie beginnen

So installieren Sie Starbound Server unter CentOS 7

So installieren Sie Starbound Server unter CentOS 7

Verwenden Sie ein anderes System? In diesem Tutorial werde ich erklären, wie ein Starbound-Server unter CentOS 7 eingerichtet wird. Voraussetzungen Sie müssen dieses Spiel besitzen

Installieren und Konfigurieren von ZNC unter CentOS 7

Installieren und Konfigurieren von ZNC unter CentOS 7

ZNC ist ein kostenloser Open-Source-IRC-Bouncer, der permanent mit einem Netzwerk verbunden bleibt, sodass Clients Nachrichten empfangen können, die gesendet werden, während sie offline sind. Thi

So installieren Sie Django unter CentOS 7

So installieren Sie Django unter CentOS 7

Django ist ein beliebtes Python-Framework zum Schreiben von Webanwendungen. Mit Django können Sie Anwendungen schneller erstellen, ohne das Rad neu zu erfinden. Wenn du willst

So richten Sie den ionCube Loader unter CentOS 7 ein

So richten Sie den ionCube Loader unter CentOS 7 ein

ionCube Loader ist eine PHP-Erweiterung, mit der ein Webserver PHP-Dateien ausführen kann, die mit ionCube Encoder codiert wurden und für deren Ausführung erforderlich sind

So installieren Sie PufferPanel (kostenlose Minecraft-Systemsteuerung) unter CentOS 7

So installieren Sie PufferPanel (kostenlose Minecraft-Systemsteuerung) unter CentOS 7

Einführung Installieren Sie in diesem Tutorial PufferPanel auf unserem Vultr VPS. PufferPanel ist ein Open Source-Bedienfeld, das Sie kostenlos verwalten können

So installieren Sie BoltWire CMS unter CentOS 7

So installieren Sie BoltWire CMS unter CentOS 7

Verwenden Sie ein anderes System? Einführung BoltWire ist ein kostenloses und leichtes Content-Management-System, das in PHP geschrieben wurde. Im Vergleich zu den meisten anderen Content Managern

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist

ReactOS: Ist das die Zukunft von Windows?

ReactOS: Ist das die Zukunft von Windows?

ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.