add workflow docker file
All checks were successful
Gitea Actions Demo / build-and-deploy (push) Successful in 14s
All checks were successful
Gitea Actions Demo / build-and-deploy (push) Successful in 14s
This commit is contained in:
33
.gitea/workflows/deploy-workflow.yml
Normal file
33
.gitea/workflows/deploy-workflow.yml
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
name: Gitea Actions Demo
|
||||||
|
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-and-deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: gitea/runner-images:ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event."
|
||||||
|
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!"
|
||||||
|
- run: echo "runner arch is ${{ runner.arch }}"
|
||||||
|
- name: Check out repository code
|
||||||
|
run: git clone ${{ gitea.server_url }}/${{ gitea.repository }} .
|
||||||
|
- name: List files
|
||||||
|
run: ls -la
|
||||||
|
- name: Stop running containers
|
||||||
|
run: |
|
||||||
|
docker compose down || true
|
||||||
|
- name: Remove old image
|
||||||
|
run: |
|
||||||
|
IMAGE_NAME=$(basename "$PWD")
|
||||||
|
echo "Removing old image: $IMAGE_NAME"
|
||||||
|
docker images | grep "$IMAGE_NAME" && docker rmi -f $(docker images "$IMAGE_NAME" -q) || echo "No old image found."
|
||||||
|
- name: Build new image
|
||||||
|
run: |
|
||||||
|
docker build -t $(basename "$PWD"):latest .
|
||||||
|
- name: Start containers
|
||||||
|
run: |
|
||||||
|
docker compose up -d
|
||||||
|
- name: Show container status
|
||||||
|
run: docker ps
|
||||||
19
Dockerfile
Normal file
19
Dockerfile
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# 使用官方轻量级 Python 基础镜像
|
||||||
|
FROM python:3.12-slim
|
||||||
|
|
||||||
|
# 设置工作目录(容器内路径)
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
# 将项目文件复制到容器中
|
||||||
|
COPY . /app
|
||||||
|
|
||||||
|
# (可选)如果你有 requirements.txt,则先复制并安装依赖
|
||||||
|
RUN if [ -f requirements.txt ]; then \
|
||||||
|
pip install --no-cache-dir -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 设置环境变量(防止 Python 缓存文件)
|
||||||
|
ENV PYTHONUNBUFFERED=1
|
||||||
|
|
||||||
|
# 启动命令
|
||||||
|
CMD ["python", "arlo.py"]
|
||||||
7
docker-compose.yml
Normal file
7
docker-compose.yml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: arlo:latest
|
||||||
|
container_name: arlo
|
||||||
|
restart: always
|
||||||
Reference in New Issue
Block a user