Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.python > #4712

Re: [Python-de] OT: Gitlab CI - Erfahrungen?

From Christopher Arndt <chris@chrisarndt.de>
Newsgroups de.comp.lang.python
Subject Re: [Python-de] OT: Gitlab CI - Erfahrungen?
Date 2017-03-22 09:29 +0100
Message-ID <mailman.19.1490171828.2603.python-de@python.org> (permalink)
References <f0c1ece6-21eb-aab1-5d21-3e5173288c10@thomas-guettler.de> <798DC71B-CD5E-4720-BACB-FAC6DBCB518A@chrisarndt.de> <3a67a3cf-31a2-1bb4-ef78-52af5373bdfc@thomas-guettler.de> <E74F0E86-C04B-4D12-A7CE-81F1E990F424@chrisarndt.de>

Show all headers | View raw


Am 21.03.2017 um 14:26 schrieb Thomas Güttler <guettliml@thomas-guettler.de>:
Wenn du willst kannst du auch noch etwas aus dem Nähkästchen plaudern :-)
Wir setzten sowohl Jenkins als auch Gitlab und dessen CI ein. Letzteres für neuere Projekte, bei denen wir die Tests schon auf tox umgestellt haben (alle Tests benutzen pytest).

Die Tests über die Gitlab CI laufen in Docker-Images. Je nach tag in der .gitlab-ci.yml (oder so ähnlich) wird ein anderer Gitlab-Runner mit einem anderen Docker-Image verwendet. Um ein Projekt für die Gitlab CI zu konfigurieren, müssen wir eigentlich also nur dafür sorgen, dass die Tests unter tox laufen und eine .xml Datei zum Repo hinzufügen.

Da tox sich alle Python-Dependencies aus unserem eigenen devpi-Server holt, haben wir (sinngemäß) folgende Einträge in der tox.ini:

[tox]
envlist = py27, py34, py35, py36
indexserver =
    default = {env:PIP_INDEX_URL:https://pypi.python.org/simple}
...

[testenv]
setenv =

PYTHONPATH = {toxinidir}:{toxinidir}/mypackage

deps =
-r{toxinidir}/requirements/dev.txt

commands =
py.test -v --basetemp={envtmpdir} {toxinidir}/tests

(Sorry für die Formatierung, das iOS-Mailprogramm ist buggy und lässt mich das nicht korrigieren.)

Damit können wir den verwendeten Paketindex durch Setzen der Environment-Variable PIP_INDEX_URL je nach Build anpassen. Zum Beispiel wollen wir für die Builds des development-Branches einen anderen Paketindex verwenden, als für Builds des master-Branches. So müssen wir keine Alpha/Pre-Release-Pakete auf den Paketindex hochladen, der für den Code in Produktion im master-Branch da ist.

-- 
Christopher Arndt <info@chrisarndt.de>

Back to de.comp.lang.python | Previous | Next | Find similar


Thread

Re: [Python-de] OT: Gitlab CI - Erfahrungen? Christopher Arndt <chris@chrisarndt.de> - 2017-03-22 09:29 +0100

csiph-web