FlightGear build server: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
m (Johan G moved page FlightGear Build Server to FlightGear build server: Non-camel case title)
(Moving up a suitable first section; rephrasing here and there; copyedit)
Line 1: Line 1:
The '''FlightGear build server''', sometimes called the '''nightly build server''' or just '''Jenkins''', is a system based on [http://www.jenkins-ci.org Jenkins] who help core developers to check that their source code is correct for all OS. It is also responsible for building release package for Linux, Windows and Mac.


Some core developers are working with Linux and have no access to a Windows installation in order to test if what they have implemented for Linux will works for Windows or Mac. The build server will automatically start a new compilation after each commit is pushed to the source code repository. We have the ability to compile the source code for Linux, Windows and Mac.


= What is it ? =
== Where to find it ==
The FlightGear build server is available at: http://build.flightgear.org:8080. There is no artifact available because we don't want copy +1GB to Jenkins master each days. This job is executed once per day.


FlightGear build server is a system based on [http://www.jenkins-ci.org Jenkins] who help core developpers to check that their source code is correct for all OS.
You can get the artifact at [http://download.flightgear.org/builds/nightly/  http://download.flightgear.org/builds/nightly]


For example, some core developpers are working with Linux and have no access to a Windows installation in order to test if what they have implemented for Linux will works for Windows and even Mac.
== User info ==
[[File:About-dlg-2.10.png|180px|thumb|The about dialog]]


The build server will automatically start a new compilation after every commits pushed in the source code. We have the ability to compile the source code for Linux, Windows and Mac.
As a user you can help developers to track bugs from the latest source code, by tracking bugs you would report them on the [[mailing list]] or [http://sourceforge.net/p/flightgear/codetickets/ bug tracker] (not the forums).


He is also responsible for building release package for Linux, Windows and Mac.
{{note|Take care to mention that you're using a nightly build, and to specify when it was built (you can find details in FlightGear's Help > About dialog)}}


FlightGear build server is available at: http://build.flightgear.org:8080. There is no artifact available because we don't want copy +1GB to Jenkins master each days. This job is executed once per day. You get the artifact at
If you are interested in doing this please follow these instructions:
[http://download.flightgear.org/builds/nightly/  http://download.flightgear.org/builds/nightly]
 
= Users info =
 
As a user you can help developpers to track bugs from the latest source code, by tracking bugs you would report them on the [[mailing list]] or [http://sourceforge.net/p/flightgear/codetickets/ bug tracker] (not the forums).
 
But take care to mention that you're using a nightly build, and to specify when it was built (you can find details in FlightGear's Help > About dialog):
 
[[File:About-dlg-2.10.png|180px]]
 
If you are interested in this job you want to follow these instructions:


=== Linux ===
=== Linux ===
Well, unfortunately there is nothing interesting for you here :)  
Well, unfortunately there is nothing interesting for you here :)  


Because Linux users have a powerful tools to compile and use the latest cource code, give a look at [[Scripted_Compilation_on_Linux_Debian/Ubuntu]]
Because Linux users have powerful tools to compile and use the latest source code, take a look at [[Scripted_Compilation_on_Linux_Debian/Ubuntu]]


=== Mac ===
=== Mac ===
You need 2 things to run the latest source code: the compiled source code and the data.
You need two things to run the latest source code: The compiled source code and the data.
 
 
You can download the compiled source code at: [http://download.flightgear.org/builds/nightly/ FlightGear Mac nightly build]


You can download the data with git: git clone https://git.gitorious.org/fg/fgdata.git
* You can download the compiled source code at: [http://download.flightgear.org/builds/nightly/ FlightGear Mac nightly build]
* You can download the data with git: <code>git clone https://git.gitorious.org/fg/fgdata.git</code>


=== Windows ===
=== Windows ===
You need 2 things to run the latest source code: the compiled source code and the data.
You need two things to run the latest source code: The compiled source code and the data.
 
 
You can download the compiled source code at: [http://download.flightgear.org/builds/nightly/ FlightGear Win nightly build download]
You can download the data with git: git clone https://git.gitorious.org/fg/fgdata.git
 


* You can download the compiled source code at: [http://download.flightgear.org/builds/nightly/ FlightGear Win nightly build download]
* You can download the data with git: <code>git clone https://git.gitorious.org/fg/fgdata.git</code>


= Developpers info =
== Developer info ==
 
Here is a brief summary about the configuration of Jenkins.
Here is a brief summary about the configuration of Jenkins.


Line 53: Line 40:


=== master ===
=== master ===
The ''master'' is the processus who manage the distribution of build among slaves.
The ''master'' manages the distribution of builds among the slaves.


Basically, his job is to be connected to his slaves and ask them to execute jobs who have been configured.
Basically, its job is to be connected to the slaves and ask them to execute the jobs which have been configured.


=== Linux ===
=== Linux ===
This is the Linux slave based on Fedora 21. In reality it is the same machine than ''master'' but with another login. That's why we want the SSH connection on ''localhost''.
This is the Linux slave based on Fedora 21. In reality it is the same machine than ''master'' but with another login. That's why we want the SSH connection on ''localhost''.


This slave is configured to work in /home/jenkins, that's where we have plenty of free space disk on this machine.
This slave is configured to work in <code>/home/jenkins</code>, that's where we have plenty of free space disk on this machine.


=== Mac ===
=== Mac ===
Line 66: Line 53:


=== Windows ===
=== Windows ===
This is the Windows slave based on Windows Server 2008. He is located in the same LAN than master/Linux slave. There is MSVC2010 installed.
This is the Windows slave based on Windows Server 2008. It is located in the same LAN than master/Linux slave. There is MSVC2010 installed.
 
This slave is configured to work in G:\jenkins, that's where we have plenty of free space disk on this machine.
 
== Release process ==
 
The Linux slave has the responsability to provide the base-package for the Linux-release and Windows-release job.


Because the Linux and Windows slave are in the same LAN it's not a problem to exchange 1GB on the network.
This slave is configured to work in <code>G:\jenkins</code>, that's where we have plenty of free space disk on this machine.


=== Release process ===
The Linux slave has the responsibility to provide the base-package for the Linux-release and Windows-release job.


Windows-release, Mac-release and Linux-release have to be triggered by-hand. The result is automatically uploaded to http://fgfs.goneabitbursar.com/releases/
Because the Linux and Windows slave are on the same LAN it is not a problem to exchange 1 GB on the network.


<code>Windows-release</code>, <code>Mac-release</code> and <code>Linux-release</code> have to be triggered by-hand. The result is automatically uploaded to http://fgfs.goneabitbursar.com/releases/.


[[Category:Core developer documentation]]
[[Category:Core developer documentation]]

Revision as of 11:54, 22 March 2015

The FlightGear build server, sometimes called the nightly build server or just Jenkins, is a system based on Jenkins who help core developers to check that their source code is correct for all OS. It is also responsible for building release package for Linux, Windows and Mac.

Some core developers are working with Linux and have no access to a Windows installation in order to test if what they have implemented for Linux will works for Windows or Mac. The build server will automatically start a new compilation after each commit is pushed to the source code repository. We have the ability to compile the source code for Linux, Windows and Mac.

Where to find it

The FlightGear build server is available at: http://build.flightgear.org:8080. There is no artifact available because we don't want copy +1GB to Jenkins master each days. This job is executed once per day.

You can get the artifact at http://download.flightgear.org/builds/nightly

User info

The about dialog

As a user you can help developers to track bugs from the latest source code, by tracking bugs you would report them on the mailing list or bug tracker (not the forums).

Note  Take care to mention that you're using a nightly build, and to specify when it was built (you can find details in FlightGear's Help > About dialog)

If you are interested in doing this please follow these instructions:

Linux

Well, unfortunately there is nothing interesting for you here :)

Because Linux users have powerful tools to compile and use the latest source code, take a look at Scripted_Compilation_on_Linux_Debian/Ubuntu

Mac

You need two things to run the latest source code: The compiled source code and the data.

Windows

You need two things to run the latest source code: The compiled source code and the data.

Developer info

Here is a brief summary about the configuration of Jenkins.

If need anything you would contact either James, Gene or Clément (the mailing list is a good place to contact them if you don't know where to look at them)

master

The master manages the distribution of builds among the slaves.

Basically, its job is to be connected to the slaves and ask them to execute the jobs which have been configured.

Linux

This is the Linux slave based on Fedora 21. In reality it is the same machine than master but with another login. That's why we want the SSH connection on localhost.

This slave is configured to work in /home/jenkins, that's where we have plenty of free space disk on this machine.

Mac

This is the Mac slave.

Windows

This is the Windows slave based on Windows Server 2008. It is located in the same LAN than master/Linux slave. There is MSVC2010 installed.

This slave is configured to work in G:\jenkins, that's where we have plenty of free space disk on this machine.

Release process

The Linux slave has the responsibility to provide the base-package for the Linux-release and Windows-release job.

Because the Linux and Windows slave are on the same LAN it is not a problem to exchange 1 GB on the network.

Windows-release, Mac-release and Linux-release have to be triggered by-hand. The result is automatically uploaded to http://fgfs.goneabitbursar.com/releases/.