Docker. Schnelles automatisiertes Testen der Serverkonfiguration ist ein unbestreitbares reales Problem, das Docker festnagelt. Es kann einen sauberen Computer bereitstellen, der bereits gestartet ist und in einer Sekunde das Netzwerk abhört. Starten Sie ein Image mit / srv / salt bind-mount und Sie können salt-call --local state.highstate -l debug
Testzustände ohne Probleme ausführen salt-key
.
Ich weiß, dass SaltStack, Inc LXC ähnlich verwendet hat. Sie tun es wahrscheinlich immer noch.
Was den Test betrifft - wenn Sie mit Ihren Statusdateien klug und vorsichtig umgehen, können Sie einen sauberen zweiten Lauf als Hinweis auf den Erfolg betrachten.
Dies ist schwer zu erreichen, da einige Staaten immer wieder ausgeführt werden. Salt Stack war gut darin, diese Zustände zu beheben, sobald sie gefunden wurden. In der Zwischenzeit müssen Sie diese Zustände mit Inline-Jinja-Bedingungen umgeben, die zur Laufzeit Befehle für den Minion ausführen:
{% if salt['cmd.retcode']('your test here') %}
some-identifier:
some.module:
- name: some anme
{% endif %}'
Es gibt ein Jenkins-Docker-Plugin :
Das Ziel des Docker-Plugins besteht darin, mithilfe eines Docker-Hosts einen Slave dynamisch bereitzustellen, einen einzelnen Build auszuführen und diesen Slave dann herunterzufahren.
Alternativ können Sie das Ganze über das neue Docker-ng-Salzmodul automatisieren :
salt dockhost docker-ng.create states-qa rm=True binds="/srv/salt:/srv/salt"
salt dockhost docker-ng.retcode states-qa 'salt-call --local state.highstate' # run 1
salt dockhost docker-ng.retcode states-qa 'salt-call --local state.highstate' # run 2
salt dockhost docker-ng.stop states-qa