常见问题-发布流程: Difference between revisions

Jump to navigation Jump to search
m (Adding interlang links (links to translated versions of this page in other languages) triggered by origin English page "FAQ_Release_process" update.)
Line 9: Line 9:
[[Category:RoadMap]]
[[Category:RoadMap]]


= Introduction=
=简介=
This page describe what is the build and release process of a new stable version of Dolibarr ERP CRM (manufacturing process or chaine de fabrication in french).
本页描述了Dolibarr ERP CRM(法语中的制造流程或供应链)的最新稳定版本的构建与发布流程。


A new version is build following different steps:
按照不同的时期构建新版本:


'''A development period -> A freeze / beta period -> A final stable version''' (See page [[:Category:RoadMap]] for definition of a Freeze / Beta version)
'''开发期 -> 冻结/测试期 -> 最终稳定版本''' (有关冻结/测试版本的定义参见页面 [[:Category:RoadMap]] )


This is description of the 3 steps.
以下这是对这三个时期的描述。


= Development =
=开发=


== Development ==
==开发==


First step is development of software. Sources can be download from GitHub at https://github.com/Dolibarr/dolibarr
第一步是软件开发。可以从 GitHub 下载源代码,GitHub网址为 https://github.com/Dolibarr/dolibarr


Any developer can download sources and work on his side using git and submit a request to ask to include his changes to the official sources.
任何开发者都可以下载源代码和使用 git 为自己工作,并可以提交请求以要求将自己的变更包含在官方源代码中。


See the [[FAQ_Get,update_GIT_project_sources|FAQ Get or update project with GIT]] for more information on how to do this.
有关如何执行这些操作的详细信息,请参见 [[FAQ_Get,update_GIT_project_sources|FAQ Get or update project with GIT]] 。


== Continuous interation ==
==Continuous interation==


Each time a new request to include a change is submitted, Continuous Integration Tests are done before the change is validated.
Each time a new request to include a change is submitted, Continuous Integration Tests are done before the change is validated.
Line 36: Line 36:
If a test fails, it will not be validated (see next step).
If a test fails, it will not be validated (see next step).


== Validation of new changes ==
==Validation of new changes==


Only people with the grade '''Dolibarr Yoda''' can accept to include changes into official development sources. Permissions for this are granted on GitHub  
Only people with the grade '''Dolibarr Yoda''' can accept to include changes into official development sources. Permissions for this are granted on GitHub  
Line 42: Line 42:
See [[Dolibarr_Project#Developers_roles|Dolibarr roles]] for the list of people with this grade.
See [[Dolibarr_Project#Developers_roles|Dolibarr roles]] for the list of people with this grade.


= Beta period =
=Beta period=


When enough changes are included into version, and according to planning, the Dolibarr Yoda decide to start the beta.
When enough changes are included into version, and according to planning, the Dolibarr Yoda decide to start the beta.
Line 52: Line 52:
Generating the packages is done using the packaging tool '''makepack_dolibarr.pl'''. See next chapter for detailed operation done by this tool.
Generating the packages is done using the packaging tool '''makepack_dolibarr.pl'''. See next chapter for detailed operation done by this tool.


= The packaging of final releases =
=The packaging of final releases=
When beta period end (no more serious bugs are reported and opened), the Dolibarr Yoda decide to start the freeze of final version. The name of the version is define to a value X.Y.Z.
When beta period end (no more serious bugs are reported and opened), the Dolibarr Yoda decide to start the freeze of final version. The name of the version is define to a value X.Y.Z.


Note: Only a Dolibarr Yoda can make this process.
Note: Only a Dolibarr Yoda can make this process.


* Firstly, final Unit Tests are run. If 1 test is wrong, process is stopped here and go back to beta phase.
*Firstly, final Unit Tests are run. If 1 test is wrong, process is stopped here and go back to beta phase.




Once all tests are ok, the following steps are done automatically using the packaging tool '''makepack_dolibarr.pl''' :
Once all tests are ok, the following steps are done automatically using the packaging tool '''makepack_dolibarr.pl''' :


* The tool generate (or suggest the command to generate) the '''ChangeLog''' file. This file is commited with sources.
*The tool generate (or suggest the command to generate) the '''ChangeLog''' file. This file is commited with sources.
* The tool generates the file '''filelist-X.Y.Z.xml''' than contains the list of files of the version with a MD5 signature and value of version. This file is commited with sources.
*The tool generates the file '''filelist-X.Y.Z.xml''' than contains the list of files of the version with a MD5 signature and value of version. This file is commited with sources.
* The tool add a '''Tag''' that is the name of version (so X.Y.Z) on all files of the official source repository. So starting from now, all files for the dedicated version are known and won't change anymore.
*The tool add a '''Tag''' that is the name of version (so X.Y.Z) on all files of the official source repository. So starting from now, all files for the dedicated version are known and won't change anymore.
* The tool build all '''official distribution packages'''. Content of such packages match the content of the signature file since it is build during same process. The following packages are built:
*The tool build all '''official distribution packages'''. Content of such packages match the content of the signature file since it is build during same process. The following packages are built:
** Package '''.zip''' (the main package)
**Package '''.zip''' (the main package)
** Package '''.tgz'''
**Package '''.tgz'''
** Autoinstaller Doliwamp '''.exe'''
**Autoinstaller Doliwamp '''.exe'''
** Autoinstaller for Debian/Ubuntu DoliDeb '''.deb'''
**Autoinstaller for Debian/Ubuntu DoliDeb '''.deb'''
** Autoinstaller for Redhat, linuxmint, mandriva DoliRpm '''.rpm'''
**Autoinstaller for Redhat, linuxmint, mandriva DoliRpm '''.rpm'''
* The tool upload the generated signature file '''filelist-X.Y.Z.xml''' on the official Dolibarr server. This file can be read by any installed application to check the integrity of the version (even one byte modified will change the signature).
*The tool upload the generated signature file '''filelist-X.Y.Z.xml''' on the official Dolibarr server. This file can be read by any installed application to check the integrity of the version (even one byte modified will change the signature).
* The tool upload the generated packaged into the '''official Dolibarr archive server''' to have them archived also in a binary form. This archives can be read from page https://www.dolibarr.org/files/stable/
*The tool upload the generated packaged into the '''official Dolibarr archive server''' to have them archived also in a binary form. This archives can be read from page https://www.dolibarr.org/files/stable/
* The tool upload the generated packaged into the '''mirror archive servers''' hosted at https://www.sourceforge.net. This is a mirror hosting, official references remain the Dolibarr archive area and are hosted by the Dolibarr team so at https://www.dolibarr.org/files/stable/.
*The tool upload the generated packaged into the '''mirror archive servers''' hosted at https://www.sourceforge.net. This is a mirror hosting, official references remain the Dolibarr archive area and are hosted by the Dolibarr team so at https://www.dolibarr.org/files/stable/.
* The release is also created on https://GitHub.com/Dolibarr/dolibarr
*The release is also created on https://GitHub.com/Dolibarr/dolibarr
* Then people of the Dolibarr community send announcements on different channels (www.dolibarr.org, forums, social networks...).
*Then people of the Dolibarr community send announcements on different channels (www.dolibarr.org, forums, social networks...).
* Starting from now, a new cycle can start. A new development period start from sources of the version.
*Starting from now, a new cycle can start. A new development period start from sources of the version.


Then a Dolibarr Yoda add 1 page (one page per version) onto the https://wiki.dolibarr.org to describe content of new version. This is the Release announcement. You can look at the page [[:Category:RoadMap]] for list of past announcements.
Then a Dolibarr Yoda add 1 page (one page per version) onto the https://wiki.dolibarr.org to describe content of new version. This is the Release announcement. You can look at the page [[:Category:RoadMap]] for list of past announcements.
714

edits

Navigation menu