mirror of
https://github.com/genuinetools/reg.git
synced 2024-09-12 06:11:03 -04:00
75 lines
2.2 KiB
Markdown
75 lines
2.2 KiB
Markdown
![]() |
# Apt & Yum Repository Maintenance
|
||
|
## A maintainer's guide to managing Docker's package repos
|
||
|
|
||
|
### How to clean up old experimental debs and rpms
|
||
|
|
||
|
We release debs and rpms for experimental nightly, so these can build up.
|
||
|
To remove old experimental debs and rpms, and _ONLY_ keep the latest, follow the
|
||
|
steps below.
|
||
|
|
||
|
1. Checkout docker master
|
||
|
|
||
|
2. Run clean scripts
|
||
|
|
||
|
```bash
|
||
|
docker build --rm --force-rm -t docker-dev:master .
|
||
|
docker run --rm -it --privileged \
|
||
|
-v /path/to/your/repos/dir:/volumes/repos \
|
||
|
-v $HOME/.gnupg:/root/.gnupg \
|
||
|
-e GPG_PASSPHRASE \
|
||
|
-e DOCKER_RELEASE_DIR=/volumes/repos \
|
||
|
docker-dev:master hack/make.sh clean-apt-repo clean-yum-repo generate-index-listing sign-repos
|
||
|
```
|
||
|
|
||
|
3. Upload the changed repos to `s3` (if you host on s3)
|
||
|
|
||
|
4. Purge the cache, PURGE the cache, PURGE THE CACHE!
|
||
|
|
||
|
### How to get out of a sticky situation
|
||
|
|
||
|
Sh\*t happens. We know. Below are steps to get out of any "hash-sum mismatch" or
|
||
|
"gpg sig error" or the likes error that might happen to the apt repo.
|
||
|
|
||
|
**NOTE:** These are apt repo specific, have had no experience with anything similar
|
||
|
happening to the yum repo in the past so you can rest easy.
|
||
|
|
||
|
For each step listed below, move on to the next if the previous didn't work.
|
||
|
Otherwise CELEBRATE!
|
||
|
|
||
|
1. Purge the cache.
|
||
|
|
||
|
2. Did you remember to sign the debs after releasing?
|
||
|
|
||
|
Re-sign the repo with your gpg key:
|
||
|
|
||
|
```bash
|
||
|
docker build --rm --force-rm -t docker-dev:master .
|
||
|
docker run --rm -it --privileged \
|
||
|
-v /path/to/your/repos/dir:/volumes/repos \
|
||
|
-v $HOME/.gnupg:/root/.gnupg \
|
||
|
-e GPG_PASSPHRASE \
|
||
|
-e DOCKER_RELEASE_DIR=/volumes/repos \
|
||
|
docker-dev:master hack/make.sh sign-repos
|
||
|
```
|
||
|
|
||
|
Upload the changed repo to `s3` (if that is where you host)
|
||
|
|
||
|
PURGE THE CACHE.
|
||
|
|
||
|
3. Run Jess' magical, save all, only in case of extreme emergencies, "you are
|
||
|
going to have to break this glass to get it" script.
|
||
|
|
||
|
```bash
|
||
|
docker build --rm --force-rm -t docker-dev:master .
|
||
|
docker run --rm -it --privileged \
|
||
|
-v /path/to/your/repos/dir:/volumes/repos \
|
||
|
-v $HOME/.gnupg:/root/.gnupg \
|
||
|
-e GPG_PASSPHRASE \
|
||
|
-e DOCKER_RELEASE_DIR=/volumes/repos \
|
||
|
docker-dev:master hack/make.sh update-apt-repo generate-index-listing sign-repos
|
||
|
```
|
||
|
|
||
|
4. Upload the changed repo to `s3` (if that is where you host)
|
||
|
|
||
|
PURGE THE CACHE.
|