Compare commits
11 Commits
dependabot
...
ef769cc087
Author | SHA1 | Date | |
---|---|---|---|
ef769cc087 | |||
d4bfc7b901 | |||
745f0e663b | |||
cf8de1877e | |||
f96948e8d0 | |||
f700886fa2 | |||
2a3c79c174 | |||
4e09179e95 | |||
8b136b5482 | |||
d03cdccb62 | |||
|
709b9ca570 |
@@ -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
|
|
13
.github/dependabot.yml
vendored
13
.github/dependabot.yml
vendored
@@ -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
4
.re
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||||
|
"schedule": ["* 5 * * *"]
|
||||||
|
}
|
@@ -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
|
||||||
|
|
||||||
|
|
25
README.md
25
README.md
@@ -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
3
renovate.json
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json"
|
||||||
|
}
|
@@ -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
|
Reference in New Issue
Block a user