This is an example repo used to help demonstrate the CI/CD flow in meemoo.
- Git
- Docker (optional)
- Python 3.12
- Access to the meemoo PyPi
-
Clone this repository with:
$ git clone https://github.com/viaacode/cicd-helloworld-example.git -
Change into the new directory:
$ cd cicd-helloworld-example -
Set the needed config:
Included in this repository is a config.yml file detailing the required configuration. There is also an .env.example file containing all the needed env variables used in the config.yml file. All values in the config have to be set in order for the application to function correctly. You can use !ENV ${EXAMPLE} as a config value to make the application get the EXAMPLE environment variable.
-
Start by creating a virtual environment:
$ python -m venv venv -
Activate the virtual environment:
$ source venv/bin/activate -
Install the external modules:
$ pip install .[dev] \ --extra-index-url http://do-prd-mvn-01.do.viaa.be:8081/repository/pypi-all/simple \ --trusted-host do-prd-mvn-01.do.viaa.be -
Make sure to load in the ENV vars.
-
Run the tests with:
$ python -m pytest -v --cov=./app -
Run the application:
$ python -m main
-
Build the container:
$ docker build -t cicd-helloworld-example . -
Run the container (with specified
.envfile):$ docker run --env-file .env --rm -p 8000:8000 cicd-helloworld-example:latest