Project

General

Profile

Prepare the repository

Before publishing vX.Y.Z, the following files must be updated manually and committed to the corresponding stable branch:

  • configure.ac
  • debian/changelog

Obtain the private key to sign the packages

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 (see http://docs.ceph.com/docs/master/install/get-packages/#add-keys).

Create the packages

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.

For a given branch, the Ceph version packages, signed and placed into usable repositories for a given set of operating systems with:

ceph-workbench --verbose release \
--version version \
--suite buildpackages/any \
--ceph branch \
--ceph-git-url http://github.com/ceph/ceph \
--filter operating systems

For instance:

ceph-workbench --verbose release \
--version 10.0.3 \
--suite buildpackages/any \
--ceph jewel \
--ceph-git-url http://github.com/ceph/ceph \
--filter 'ubuntu_14.04,centos_7.2'

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.

The URL to the repositories is displayed in the ceph-workbench release output.

merge the packages with the publicly available repository

The packages are published to a temporary server and should be copied over to a permanent location. To do this, first login to the server hosting the permanent files, and then run the following:

ceph-workbench --verbose release --merge-from temporary --merge-phase

For instance:

ceph-workbench --verbose release --merge-from http://167.114.246.148/ --merge-phase