Automates the creation and managment of aptly mirrors and snapshots based on yml input files.
[1] | Coverage enforced by tests (on travis) |
Initialize a new aptly server.
pyaptly -c mirrors.yml mirror create
pyaptly -c mirrors.yml mirror update
pyaptly -c mirrors.yml snapshot create
pyaptly -c mirrors.yml publish create
Update mirrors and snapshots and switch publish endpoints with
automatic-update: true
to the new snapshots.
pyaptly -c mirrors.yml mirror update
pyaptly -c mirrors.yml snapshot create
pyaptly -c mirrors.yml publish create
pyaptly -c mirrors.yml publish update
Manually trigger a switch to the new snapshots for the publish endpoint ubuntu/stable.
pyaptly -c mirrors.yml publish update ubuntu/stable
Sources:
deb http://aptly.adfinis-sygroup.ch/adsy-public/debian wheezy main
deb http://aptly.adfinis-sygroup.ch/adsy-public/debian jessie main
deb http://aptly.adfinis-sygroup.ch/adsy-public/ubuntu trusty main
deb http://aptly.adfinis-sygroup.ch/adsy-public/ubuntu vivid main
deb http://aptly.adfinis-sygroup.ch/adsy-public/ubuntu xenial main
Install:
wget -O - http://aptly.adfinis-sygroup.ch/aptly.asc | apt-key add -
apt-get update
apt-get install python-pyaptly
Automatic
git submodule update --init --recursive
make test-local
Manual. There is a safety check in tests. They won't work if you don't set $HOME.
git submodule update --init --recursive
source testenv
py.test -x
or
git submodule update --init --recursive
export HOME="$(pwd)"
export PATH="$HOME/aptly_0.9.6_linux_amd64/:$PATH"
py.test -x
The box provisions aptly, nginx and two repos which can be used for tests:
aptly mirror create mirro-fakerepo01 http://localhost/fakerepo01 main aptly mirror create mirro-fakerepo02 http://localhost/fakerepo02 main