AAROC.CODE-RADE-build-containers
Kontenery do budowy CODE-RADE
Użyte role
To repozytorium zawiera kod Ansible-Container do budowy kontenerów slave CODE-RADE. Wykorzystuje rolę AAROC.CODE-RADE-container
z Ansible Galaxy.
Kontenery
Kontenery są budowane przy użyciu Ansible Container i przechowywane na quay.io. Budujemy następujące obrazy bazowe:
Obraz | Status |
---|---|
CentOS 6 | |
Ubuntu 14.04 | |
CentOS 7 | |
Ubuntu 16.10 |
Można korzystać z kontenerów, pobierając je z quay.io, np.:
docker pull quay.io/aaroc/code-rade-ubuntu1610
Kontener dodaje użytkownika, jdk oraz daemon ssh dla jenkins, a także trochę specjalnych ustawień CODE-RADE:
- Plik modułowy
ci
, który ustawia kilka zmiennych:$SOFT_DIR
: Ścieżka instalacji oprogramowania dla środowiska CIsetenv SOFT_DIR /data/ci-build/$::env(SITE)/$::env(OS)/$::env(ARCH)/$::env(NAME)/$::env(VERSION)
$REPO_DIR
: Zbudowane artefakty (w formacie tar) w środowisku CIsetenv REPO_DIR /data/artefacts/$::env(SITE)/$::env(OS)/$::env(ARCH)/$::env(NAME)/$::env(VERSION)
$SRC_DIR
: Lokalna pamięć podręczna dla archiwów źródłowychsetenv SRC_DIR /data/src/$::env(NAME)/$::env(VERSION)
$MODULES
: Ścieżka do plików modułowych dla środowiska CIset MODULES /data/modules
- Plik modułowy
deploy
, który ustawia te same zmienne, z wyjątkiem tego, że ścieżka główna$SOFT_DIR
znajduje się pod/cvmfs
. - Kontener danych (
CODE-RADE-data
) jest używany do utrzymywania danych z budowy do budowy oraz do uczynienia budów przenośnymi.
Kontenery danych
Używamy wzorca kontenera danych aby zapewnić trwałość artefaktów budowy między zadaniami. Są one określone w container.yml
wyłącznie dla Dockera.
Aby zbudować
Aby zbudować kontenery, wystarczy wpisać:
ansible-container --project-name code-rade build --roles-path /home/becker/Ops/AAROC/DevOps/Ansible/roles/ --use-local-python
Wysyłanie do rejestru obrazów
container.yml
zawiera specyfikację używanych rejestrów. Domyślnie korzystamy z quay. Aby wysłać zbudowany obraz do rejestru, aby był użyty przez inne miejsce budowy, wpisz
ansible-container --project-name code-rade push --roles-path /home/becker/Ops/AAROC/DevOps/Ansible/roles/ --push-to quay --tag latest
Uruchamianie
Te kontenery są zaprojektowane do automatycznego provisionowania przez system CI. Domyślny punkt wejścia to ssh na porcie 5200.
Możesz ich użyć do sprawdzenia budów lokalnie. Aby je uruchomić, wpisz:
ansible-container --project-name code-rade run --roles-path /home/becker/Ops/AAROC/DevOps/Ansible/roles/
Następnie połącz się z uruchomionym kontenerem za pomocą ssh:
ssh jenkins@172.17.0.2 -p 5200
Wdrażanie
Jak wspomniano wcześniej, te kontenery są do provisionowania w środowiskach CI. Jeśli naprawdę chcesz uruchomić statyczny klaster budowy, możesz użyć polecenia --deploy
Ansible Container. Zobacz https://docs.ansible.com/ansible-container/reference/deploy.html dla opcji wdrażania.
Cytowanie
Jeśli tworzysz badania lub inny wynik, a te kontenery są częścią tego procesu, proszę cytować jako
Bruce Becker. (2017). AAROC/CODE-RADE-build-containers: CODE-RADE Foundation Release 3 - Kontenery budujące [Zestaw danych]. Zenodo. http://doi.org/10.5281/zenodo.572275
ansible-galaxy install AAROC.CODE-RADE-build-containers