11 Commits

Author SHA1 Message Date
ef769cc087 Update dependency requests to ~=2.28.1
All checks were successful
ci/woodpecker/pr/woodpecker Pipeline was successful
2022-09-17 23:36:16 +02:00
d4bfc7b901 Merge pull request 'Update dependency pyTelegramBotAPI to ~=4.7.0' (#35) from renovate/pytelegrambotapi-4.x into main
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Reviewed-on: #35
2022-09-17 23:35:55 +02:00
745f0e663b Update dependency pyTelegramBotAPI to ~=4.7.0
All checks were successful
ci/woodpecker/pr/woodpecker Pipeline was successful
2022-09-17 23:35:48 +02:00
cf8de1877e Merge pull request 'Update dependency plotly to ~=5.10.0' (#34) from renovate/plotly-5.x into main
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Reviewed-on: #34
2022-09-17 23:35:36 +02:00
f96948e8d0 Update dependency plotly to ~=5.10.0
All checks were successful
ci/woodpecker/pr/woodpecker Pipeline was successful
2022-09-17 23:35:15 +02:00
f700886fa2 Merge pull request 'Configure Renovate' (#33) from renovate/configure into main
Reviewed-on: DHBW/GuessThePrice_2#33
2022-09-17 23:33:47 +02:00
2a3c79c174 Maybe this fixes renovate 2022-09-17 23:33:30 +02:00
4e09179e95 Add renovate.json 2022-09-17 23:33:28 +02:00
8b136b5482 „.renovaterc.json“ löschen 2022-09-17 23:33:03 +02:00
d03cdccb62 Some changes 2022-09-17 23:23:21 +02:00
Florian Kaiser
709b9ca570 Update README.md 2022-09-17 23:10:48 +02:00
7 changed files with 32 additions and 48 deletions

View File

@@ -1,12 +0,0 @@
version: '3.7'
services:
bot:
image: registry.flokaiser.com/guesstheprice/bot
env_file:
- ${PWD}/.env
networks:
default:
external:
name: ens18_net

View File

@@ -1,13 +0,0 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
# Bot
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "daily"
open-pull-requests-limit: 100

4
.re Normal file
View File

@@ -0,0 +1,4 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"schedule": ["* 5 * * *"]
}

View File

@@ -4,16 +4,14 @@ pipeline:
commands: commands:
- echo -n "${CI_COMMIT_BRANCH//\//-}-${CI_COMMIT_SHA:0:8}, latest" > .tags - echo -n "${CI_COMMIT_BRANCH//\//-}-${CI_COMMIT_SHA:0:8}, latest" > .tags
when: when:
path: [ "source/**" ]
event: push event: push
# -------------------------------------- Bot -------------------------------------- build:
build_bot:
image: woodpeckerci/plugin-docker-buildx image: woodpeckerci/plugin-docker-buildx
settings: settings:
repo: repo:
from_secret: repo_bot from_secret: repo
username: username:
from_secret: username from_secret: username
password: password:
@@ -23,11 +21,9 @@ pipeline:
dockerfile: source/Dockerfile dockerfile: source/Dockerfile
platforms: linux/amd64 platforms: linux/amd64
when: when:
path: "source/**"
event: push event: push
# -------------------------------------- Deploy --------------------------------------
deploy: deploy:
image: appleboy/drone-ssh image: appleboy/drone-ssh
network_mode: host network_mode: host
@@ -41,13 +37,10 @@ pipeline:
port: port:
from_secret: ssh_port from_secret: ssh_port
script: script:
- cd /home/administrator/GuessThePrice - cd ~/docker-compose-files/guess_the_price
- git pull
- cd .deploy
- docker-compose pull - docker-compose pull
- docker-compose -p "guesstheprice" up -d - docker-compose --env-file ~/docker-compose-env/guess_the_price.env up -d
when: when:
path: [ "source/**" ]
event: push event: push

View File

@@ -28,14 +28,23 @@ Umsetzung:
Oberthema: Oberthema:
"Data is the new oil" "Data is the new oil"
# Deployment # Deploy
## Mit Docker (Empfohlen) ## Mit Docker (Empfohlen)
1. Das Dockerfile aus dem `source`-Ordner in das Root-Verzeichnis kopieren `cp source/Dockerfile .` docker-compose.yml:
2. Das Docker Image erstellen `docker build . -t guesstheprice` ```
3. Die `source/.env.example`-Datei in das Root-Verzeichnis kopieren und zu `.env` umbenennen `cp source/.env.example .env` version: '3.7'
4. Die `.env`-Datei so anpassen, das die Variablen die richtigen Werte haben
5. Den Container starten `docker run -d --name guesstheprice --env-file=.env guesstheprice` services:
6. ALternativ kann für das Starten des Containers auch die `docker-compose.yml` Datei aus dem `.deploy`-Ordner verwendet werden. bot:
image: registry.flokaiser.com/dhbw/guesstheprice
env_file:
- ${PWD}/.env
```
Start with:
```
docker-compose --env-file .env up -d
```
## Ohne Docker ## Ohne Docker
Da für das Laden der Produkte von Amazon Gecko, Firefox und andere Abhängigkeiten verwenden, ist es relativ komplex den Bot ohne Docker zu Starten. Da für das Laden der Produkte von Amazon Gecko, Firefox und andere Abhängigkeiten verwenden, ist es relativ komplex den Bot ohne Docker zu Starten.
@@ -60,7 +69,7 @@ Im Docker-Image sind alle Abhängigkeiten direkt integriert, ohne Docker müssen
5. Bot Skripte starten `python source/bot.py & python source/daily_challenge.py` 5. Bot Skripte starten `python source/bot.py & python source/daily_challenge.py`
# CI-CD # CI-CD
Damit der Docker Container bei jeder Änderung neu gebaut und gestartet wird, wird bei diesem Projekt **Woodpecker** verwendet: https://woodpecker.flokaiser.com/H4CK3R-01/GuessThePrice/. Damit der Docker Container bei jeder Änderung neu gebaut und gestartet wird, wird bei diesem Projekt **Woodpecker** verwendet: https://gitea.woodpecker.flokaiser.com/DHBW/GuessThePrice.
Die Konfiguration hierzu befindet sich im `.woodpecker`-Ordner Die Konfiguration hierzu befindet sich im `.woodpecker`-Ordner
Um die Abhängigkeiten aktuell zu halten wird der **dependabot**-Service von Github verwendet. Der Bot erstellt dabei täglich (bei neuen Updates) Pull Requests, die nur noch getestet und gemerged werden müssen. Um die Abhängigkeiten aktuell zu halten wird der **dependabot**-Service von Github verwendet. Der Bot erstellt dabei täglich (bei neuen Updates) Pull Requests, die nur noch getestet und gemerged werden müssen.

3
renovate.json Normal file
View File

@@ -0,0 +1,3 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json"
}

View File

@@ -1,12 +1,12 @@
pyTelegramBotAPI~=4.5.1 pyTelegramBotAPI~=4.7.0
python-dotenv~=0.20.0 python-dotenv~=0.20.0
APScheduler~=3.9.1 APScheduler~=3.9.1
SQLAlchemy~=1.4.37 SQLAlchemy~=1.4.37
pymysql==1.0.2 pymysql==1.0.2
requests~=2.27.1 requests~=2.28.1
beautifulsoup4~=4.11.1 beautifulsoup4~=4.11.1
pandas~=1.4.2 pandas~=1.4.2
PyVirtualDisplay~=3.0 PyVirtualDisplay~=3.0
selenium~=4.2.0 selenium~=4.2.0
plotly~=5.8.0 plotly~=5.10.0
fuzzywuzzy~=0.18.0 fuzzywuzzy~=0.18.0