"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "docs/tutorial/tour.rst" between
buildbot-3.0.2.tar.gz and buildbot-3.1.0.tar.gz

About: Buildbot is a continuous integration testing framework (Python-based). It supports also automation of complex build systems, application deployment, and management of sophisticated software-release processes.

tour.rst  (buildbot-3.0.2):tour.rst  (buildbot-3.1.0)
skipping to change at line 41 skipping to change at line 41
:alt: force a build. :alt: force a build.
Click *Start Build* - there's no need to fill in any of the fields in this case. Click *Start Build* - there's no need to fill in any of the fields in this case.
Next, click on `view in waterfall <http://localhost:8010/#/waterfall?show=runtes ts>`_. Next, click on `view in waterfall <http://localhost:8010/#/waterfall?show=runtes ts>`_.
You will now see that a successful test run has happened: You will now see that a successful test run has happened:
.. image:: _images/runtests-success.png .. image:: _images/runtests-success.png
:alt: an successful test run happened. :alt: an successful test run happened.
This simple process is essentially is the whole purpose of the Buildbot project. This simple process is essentially the whole purpose of the Buildbot project.
The information about what actions are executed for a certain build are defined in things called :ref:`builders <Concepts-Builder>`. The information about what actions are executed for a certain build are defined in things called :ref:`builders <Concepts-Builder>`.
The information about when a certain builder should launch a build are defined i n things called :ref:`schedulers <Concepts-Scheduler>`. The information about when a certain builder should launch a build are defined i n things called :ref:`schedulers <Concepts-Scheduler>`.
In fact, the blue "force" button that was pushed in this example activated a sch eduler too. In fact, the blue "force" button that was pushed in this example activated a sch eduler too.
Setting Project Name and URL Setting Project Name and URL
---------------------------- ----------------------------
Let's start simple by looking at where you would customize the buildbot's projec t name and URL. Let's start simple by looking at where you would customize the buildbot's projec t name and URL.
skipping to change at line 73 skipping to change at line 73
Now, look for the section marked *PROJECT IDENTITY* which reads:: Now, look for the section marked *PROJECT IDENTITY* which reads::
####### PROJECT IDENTITY ####### PROJECT IDENTITY
# the 'title' string will appear at the top of this buildbot installation's # the 'title' string will appear at the top of this buildbot installation's
# home pages (linked to the 'titleURL'). # home pages (linked to the 'titleURL').
c['title'] = "Hello World CI" c['title'] = "Hello World CI"
c['titleURL'] = "https://buildbot.github.io/hello-world/" c['titleURL'] = "https://buildbot.github.io/hello-world/"
If you want, you can change either of these links to anything you want to see wh at happens when you change them. If you want, you can change either of these links to anything you want so that y ou can see what happens when you change them.
After making a change go into the terminal and type: After making a change, go to the terminal and type:
.. code-block:: bash .. code-block:: bash
buildbot reconfig master buildbot reconfig master
You will see a handful of lines of output from the master log, much like this: You will see a handful of lines of output from the master log, much like this:
.. code-block:: none .. code-block:: none
2011-12-04 10:11:09-0600 [-] loading configuration from /path/to/buildbot/ma ster.cfg 2011-12-04 10:11:09-0600 [-] loading configuration from /path/to/buildbot/ma ster.cfg
skipping to change at line 104 skipping to change at line 104
2011-12-04 10:11:09-0600 [-] Setting up http.log rotating 10 files of 100000 00 bytes each 2011-12-04 10:11:09-0600 [-] Setting up http.log rotating 10 files of 100000 00 bytes each
2011-12-04 10:11:09-0600 [-] WebStatus using (/path/to/buildbot/public_html) 2011-12-04 10:11:09-0600 [-] WebStatus using (/path/to/buildbot/public_html)
2011-12-04 10:11:09-0600 [-] removing 0 old schedulers, updating 0, and addi ng 0 2011-12-04 10:11:09-0600 [-] removing 0 old schedulers, updating 0, and addi ng 0
2011-12-04 10:11:09-0600 [-] adding 1 new changesources, removing 1 2011-12-04 10:11:09-0600 [-] adding 1 new changesources, removing 1
2011-12-04 10:11:09-0600 [-] gitpoller: using workdir '/path/to/buildbot/git poller-workdir' 2011-12-04 10:11:09-0600 [-] gitpoller: using workdir '/path/to/buildbot/git poller-workdir'
2011-12-04 10:11:09-0600 [-] GitPoller repository already exists 2011-12-04 10:11:09-0600 [-] GitPoller repository already exists
2011-12-04 10:11:09-0600 [-] configuration update complete 2011-12-04 10:11:09-0600 [-] configuration update complete
Reconfiguration appears to have completed successfully. Reconfiguration appears to have completed successfully.
The important lines are the ones telling you that it is loading the new configur ation at the top, and the one at the bottom saying that the update is complete. The important lines are the ones telling you that the new configuration is being loaded (at the top) and that the update is complete (at the bottom).
Now, if you go back to `the waterfall page <http://localhost:8010/#/waterfall>`_ , you will see that the project's name is whatever you may have changed it to an d when you click on the URL of the project name at the bottom of the page it sho uld take you to the link you put in the configuration. Now, if you go back to `the waterfall page <http://localhost:8010/#/waterfall>`_ , you will see that the project's name is whatever you may have changed it to, a nd when you click on the URL of the project name at the bottom of the page, it s hould take you to the link you put in the configuration.
Configuration Errors Configuration Errors
-------------------- --------------------
It is very common to make a mistake when configuring buildbot, so you might as w ell see now what happens in that case and what you can do to fix the error. It is very common to make a mistake when configuring buildbot, so you might as w ell see now what happens in that case and what you can do to fix the error.
Open up the config again and introduce a syntax error by removing the first sing le quote in the two lines you changed, so they read: Open up the config again and introduce a syntax error by removing the first sing le quote in the two lines you changed before, so they read:
.. ..
Format a `none` since this is not a valid Python code Format a `none` since this is not a valid Python code
.. code-block:: none .. code-block:: none
c[title'] = "Hello World CI" c[title'] = "Hello World CI"
c[titleURL'] = "https://buildbot.github.io/hello-world/" c[titleURL'] = "https://buildbot.github.io/hello-world/"
This creates a Python ``SyntaxError``. This creates a Python ``SyntaxError``.
Now go ahead and reconfig the buildmaster: Now go ahead and reconfig the master:
.. code-block:: bash .. code-block:: bash
buildbot reconfig master buildbot reconfig master
This time, the output looks like: This time, the output looks like:
.. code-block:: none .. code-block:: none
2015-08-14 18:40:46+0000 [-] beginning configuration update 2015-08-14 18:40:46+0000 [-] beginning configuration update
skipping to change at line 165 skipping to change at line 165
correct them, then try 'buildbot reconfig' again. correct them, then try 'buildbot reconfig' again.
This time, it's clear that there was a mistake in the configuration. This time, it's clear that there was a mistake in the configuration.
Luckily, the Buildbot master will ignore the wrong configuration and keep runnin g with the previous configuration. Luckily, the Buildbot master will ignore the wrong configuration and keep runnin g with the previous configuration.
The message is clear enough, so open the configuration again, fix the error, and reconfig the master. The message is clear enough, so open the configuration again, fix the error, and reconfig the master.
Enabling the IRC Bot Enabling the IRC Bot
-------------------- --------------------
Buildbot includes an IRC bot that you can tell to join a channel and control to report on the status of buildbot. Buildbot includes an IRC bot that you can tell to join a channel to control and report on the status of buildbot.
.. note:: Security Note .. note:: Security Note
Please note that any user having access to your irc channel or can send the private message to the bot will be able to create or stop builds :bug:`3377`. Please note that any user having access to your IRC channel, or can send a p rivate message to the bot, will be able to create or stop builds :bug:`3377`.
First, start an IRC client of your choice, connect to irc.freenode.net and join an empty channel. First, start an IRC client of your choice, connect to irc.freenode.net and join an empty channel.
In this example we will use ``#buildbot-test``, so go join that channel. In this example we will use ``#buildbot-test``, so go join that channel.
(*Note: please do not join the main buildbot channel!*) (*Note: please do not join the main buildbot channel!*)
Edit :file:`master.cfg` and look for the *BUILDBOT SERVICES* section. Edit :file:`master.cfg` and look for the *BUILDBOT SERVICES* section.
At the end of that section add the lines:: At the end of that section add the lines::
c['services'].append(reporters.IRC(host="irc.freenode.net", nick="bbtest", c['services'].append(reporters.IRC(host="irc.freenode.net", nick="bbtest",
channels=["#buildbot-test"])) channels=["#buildbot-test"]))
Reconfigure the build master then do: The reconfigure the master and type:
.. code-block:: bash .. code-block:: bash
grep -i irc master/twistd.log grep -i irc master/twistd.log
The log output should contain a line like this: The log output should contain a line like this:
.. code-block:: none .. code-block:: none
2016-11-13 15:53:06+0100 [-] Starting factory <...> 2016-11-13 15:53:06+0100 [-] Starting factory <...>
skipping to change at line 203 skipping to change at line 203
You should see the bot now joining in your IRC client. You should see the bot now joining in your IRC client.
In your IRC channel, type: In your IRC channel, type:
.. code-block:: none .. code-block:: none
bbtest: commands bbtest: commands
to get a list of the commands the bot supports. to get a list of the commands the bot supports.
Let's tell the bot to notify certain events, to learn which EVENTS we can notify on: Let's tell the bot to notify on certain events. To learn on which EVENTS we can notify, type:
.. code-block:: none .. code-block:: none
bbtest: help notify bbtest: help notify
Now let's set some event notifications: Now, let's set some event notifications:
.. code-block:: irc .. code-block:: irc
<@lsblakk> bbtest: notify on started finished failure <@lsblakk> bbtest: notify on started finished failure
< bbtest> The following events are being notified: ['started', 'failure', 'fin ished'] < bbtest> The following events are being notified: ['started', 'failure', 'fin ished']
Now, go back to the web interface and force another build. Alternatively, ask th e bot to force a build: Now, go back to the web interface and force another build. Alternatively, ask th e bot to force a build:
.. code-block:: irc .. code-block:: irc
skipping to change at line 234 skipping to change at line 234
You can also see the new builds in the web interface. You can also see the new builds in the web interface.
.. image:: _images/irc-testrun.png .. image:: _images/irc-testrun.png
:alt: a successful test run from IRC happened. :alt: a successful test run from IRC happened.
The full documentation is available at :bb:reporter:`IRC`. The full documentation is available at :bb:reporter:`IRC`.
Setting Authorized Web Users Setting Authorized Web Users
---------------------------- ----------------------------
The default configuration allows everyone to perform any task like creating or s topping builds via the web interface. To restrict this to a user, look for:: The default configuration allows everyone to perform any task, like creating or stopping builds via the web interface. To restrict this to a user, look for::
c['www'] = dict(port=8010, c['www'] = dict(port=8010,
plugins=dict(waterfall_view={}, console_view={})) plugins=dict(waterfall_view={}, console_view={}))
and append:: and append::
c['www']['authz'] = util.Authz( c['www']['authz'] = util.Authz(
allowRules = [ allowRules = [
util.AnyEndpointMatcher(role="admins") util.AnyEndpointMatcher(role="admins")
], ],
 End of changes. 13 change blocks. 
13 lines changed or deleted 13 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)