Dieses Mal habe ich geübt, pytest
auf dem Bild von docker-compose
mit Github Actions
für das Repository des Python-Projekts zu machen, also werde ich das Memo schreiben.
--Erstellen Sie ein Token für Github-Pakete. --Docker Login.
GHCR_IO_TOKEN
registriert.)
repository/ #Repository-Verzeichnis
├ .github/
│ ├ workflows/
│ │ └ sample.yml #Github-Aktionsdatei
├ project/
│ ├ sample/ #(Erklärung weggelassen)
│ │ ├ __init__.py
│ │ └ add.py
│ └ test/ #(Erklärung weggelassen)
│ ├ __init__.py
│ └ test_add.py
├ docker-compose.yml #Detaillierte Beschreibung später
├ Dockerfile #Passendes Python-Image (Erklärung weggelassen)
└ requirements.txt #Beschreiben Sie das entsprechende Paket (diesmal wird nur der Pytest beschrieben).
ghcr.io
mit dem angegebenen Bildnamen ein.Geben Sie das Bild wie folgt an.
docker-compose.yml
services:
python:
build: .
#image: ghcr.io/Github Benutzername/Repository-Name/Bildname:Verlinke den Namen
image: ghcr.io/n-jun-k2/sample-actions/python:v1
Erstellen Sie ein Bild lokal und verschieben Sie es.
#Erstellen Sie vorerst wie gewohnt ein Bild
docker-compose up -d
#Bild schieben
docker-compose push
Bitte ändern Sie ...
entsprechend.
Auschecken, einloggen und ziehen, um einen Pytest durchzuführen.
yml:.github/workflows/sample.yml
name: ...
on:
...
jobs:
...:
name: ...
runs-on: ubuntu-20.04
steps:
- name: Checkout #Auschecken
uses: actions/checkout@v2
- name: Login to Docker #Docker-Login
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GHCR_IO_TOKEN }}
- name: Set up Docker #Ziehen Sie, um das Bild zu starten
run: |
docker pull ghcr.io/n-jun-k2/sample-actions/python:v1
docker-compose up -d
- name: Run test #Mach einen Pytest.
run: docker-compose exec -T python pytest
Diese CI-Datei wird auf dem Docker-Compose-Image getestet.
Beachten Sie, dass Sie nicht vergessen, die Option -T
unten anzugeben! Ich werde einen Fehler bekommen
docker-compose exec -T python pytest
Recommended Posts