Pulp repository administration. Useful for tracking different {re, qa, stage, prod} environments through use of the Pulp REST API.
From a Release Engineering point of view, Juicer is a collection of tools for administering Pulp [1], a Fedora Hosted Project for managing yum repositories.
Juicer allows you to remotely manage repositories in multiple environments such as QA, STAGE, or PROD as well as upload and promote rpm packages through a Pulp installation.
[1] Pulp https://fedorahosted.org/pulp/
We have a public yum repository set up for your convenience! We've even provided a repo file that you can place in /etc/yum.repos.d/ . From there, run
$ yum install juicer juicer-admin
and you're set!
We assume that you have Pulp running already. Pulp ships with a default user whose name and password are both admin. If you've changed that, it's fine. If not, Juicer provides an easy way to do so! Either way, put your account credentials in your juicer.conf. There's really only two things left to configure Pulp for use with Juicer.
First, you need to decide on how many Pulp environments you're going to have. At least three (dev, qa, and prod) is recommended. Then, configure Juicer to use them.
$ man juicer.conf
At this point, all that's left to do is to create the backend repositories that Juicer needs. Because we're so thoughtful (and lazy!) we've made this part really easy:
$ juicer-admin setup
Now you're ready to start creating release carts!
$ juicer upload -r juicy-software ~/Downloads/juicer-0.1.7-1.fc17.noarch.rpm
Start by creating a release cart MyJuicyRelease
with items from the Internet:
$ juicer create MyJuicyRelease -r juicy-software https://my.sweet.host/pulp/repos/dev/juicy-software/juicer-0.1.7-1.fc17.noarch.rpm
Then push the cart and its contents to pulp:
$ juicer push MyJuicyRelease
When you're satisfied, promote the cart to the next environment
(perhaps stage
, or production
):
$ juicer promote MyJuicyRelease