diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..1d17dae --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +.venv diff --git a/.drone.yml b/.drone.yml index 0d12394..3977763 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,35 +1,46 @@ # drone 会自动先拉取代码 # 再按顺序执行 pipeline 配置中定义的任务 - -# 这个配置定义了一个叫 run 的步骤 -# 代码拉取后会使用 python:3.7-alpine3.8 镜像来执行项目目录下的 a.py 文件 -# 由于现在仓库中并不存在 a.py 文件所以第次的测试肯定是失败的 +--- kind: pipeline type: docker -name: default +name: feature platform: os: linux arch: amd64 +trigger: + branch: + include: + - feature/* + +clone: + disable: true steps: -- name: run - image: python:3.9.13-alpine3.15 - commands: - - python3 test.py - name: deploy image: appleboy/drone-ssh settings: - host: 118.25.83.116 + host: + from_secret: host username: root key: from_secret: ssh_key port: 22 script_stop: true script: - - echo "yulong test" > /tmp/yulong_test.drone + - cd /var/www/todo + - git fetch + - git reset --hard ${DRONE_COMMIT} + - docker-compose down + - docker-compose up -d --build + - docker image prune -f + when: + event: + include: + - push + - custom diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f626f23 --- /dev/null +++ b/.gitignore @@ -0,0 +1,162 @@ +# ---> Python +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +*.env +*.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +.idea/ + diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..d567e17 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,5 @@ +FROM python:3.11 + +WORKDIR /app + +CMD ["python3", "test.py"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..094c8b2 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,15 @@ +version: "3" + +services: + todo-service: + build: + context: . + dockerfile: ./Dockerfile + image: todo-service:latest + restart: always + volumes: + - .:/app + environment: + TZ: "Asia/Shanghai" + tty: true +