Project

General

Profile

HOWTO cut a release » History » Version 5

Loïc Dachary, 03/13/2016 09:43 AM

1 1 Loïc Dachary
h3. Prepare the repository
2 1 Loïc Dachary
3 1 Loïc Dachary
Before publishing vX.Y.Z, the following files must be updated manually and committed to the corresponding stable branch:
4 1 Loïc Dachary
5 1 Loïc Dachary
* configure.ac
6 1 Loïc Dachary
* debian/changelog
7 1 Loïc Dachary
8 1 Loïc Dachary
h3. Obtain the private key to sign the packages
9 1 Loïc Dachary
10 1 Loïc Dachary
The private key used to sign the packages must be placed in ~/.ceph-workbench/gpg. If there is no key, a new one will be created, which is convenient for testing but not for publishing. Someone consuming packages from a repository will expect all the packages it contains to be signed by the same key for verification purposes.
11 1 Loïc Dachary
12 1 Loïc Dachary
h3. Create the packages
13 1 Loïc Dachary
14 2 Loïc Dachary
The credentials for an OpenStack tenant must be placed in the ~/.ceph-workbench/openrc.sh file and will be used to create virtual machines to build and test the packages.
15 2 Loïc Dachary
16 1 Loïc Dachary
For a given *branch*, the Ceph *version* packages, signed and placed into usable repositories for a given set of *operating systems* with:
17 1 Loïc Dachary
<pre>
18 1 Loïc Dachary
ceph-workbench --verbose release \
19 1 Loïc Dachary
   --version *version* \
20 1 Loïc Dachary
   --suite' 'buildpackages/any \
21 1 Loïc Dachary
   --ceph *branch* \
22 1 Loïc Dachary
   --ceph-git-url http://github.com/ceph/ceph \
23 1 Loïc Dachary
   --filter *operating systems*
24 1 Loïc Dachary
</pre>
25 1 Loïc Dachary
For instance:
26 1 Loïc Dachary
<pre>
27 1 Loïc Dachary
ceph-workbench --verbose release \
28 1 Loïc Dachary
   --version 10.0.3 \
29 1 Loïc Dachary
   --suite' 'buildpackages/any \
30 1 Loïc Dachary
   --ceph jewel \
31 1 Loïc Dachary
   --ceph-git-url http://github.com/ceph/ceph \
32 1 Loïc Dachary
   --filter 'ubuntu_14.04,centos_7.2'
33 1 Loïc Dachary
</pre>
34 1 Loïc Dachary
will create packages for the *10.0.3* Ceph version from the *jewel* branch found in the http://github.com/ceph/ceph repository and place them in repositories for the *Ubuntu 14.04* and *CentOS 7.2* operating systems.
35 3 Loïc Dachary
36 3 Loïc Dachary
The URL to the repositories is displayed in the *ceph-workbench release* output.
37 3 Loïc Dachary
38 3 Loïc Dachary
h3. merge the packages with the publicly available repository
39 3 Loïc Dachary
40 3 Loïc Dachary
The packages are published to a *temporary* server and should be copied over to a *permanent* location. When logged in the server hosting the permanent files, run the following:
41 3 Loïc Dachary
42 4 Loïc Dachary
    ceph-workbench --verbose release --merge-from *temporary* --merge-phase
43 3 Loïc Dachary
44 3 Loïc Dachary
For instance:
45 3 Loïc Dachary
46 5 Loïc Dachary
    ceph-workbench --verbose release --merge-from http://167.114.246.148/ --merge-phase