6
6
# - published # 当发布新的 release 时触发
7
7
push :
8
8
branches :
9
- - build_image # 在推送到 build_image 分支时触发构建
9
+ - build_image # 在推送到 build_image 分支时触发构建
10
10
11
11
jobs :
12
12
@@ -16,14 +16,26 @@ jobs:
16
16
17
17
steps :
18
18
# 检出代码
19
- - name : Checkout code
20
- uses : actions/checkout@v3
19
+ - name : Checkout code
20
+ uses : actions/checkout@v3
21
21
# 登录 Docker Hub
22
- - name : Log in to Docker Hub
23
- run : echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
22
+ - name : Log in to Docker Hub
23
+ run : echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
24
+ # 从 pyproject.toml 中抽取版本信息
25
+ - name : Extract version
26
+ id : get_version
27
+ run : |
28
+ # 使用 grep 和 sed 从 pyproject.toml 中提取版本
29
+ version=$(grep -Po '(?<=^version = ")[^"]*' pyproject.toml)
30
+ echo "VERSION=$version" >> $GITHUB_ENV
31
+
24
32
# 构建 Docker 镜像
25
- - name : Build Docker image
26
- run : docker build -t ${{ secrets.DOCKER_USERNAME }}/gpt_server:latest .
33
+ - name : Build Docker image
34
+ run : |
35
+ docker build -t ${{ secrets.DOCKER_USERNAME }}/gpt_server:${{ env.VERSION }} .
36
+ docker tag ${{ secrets.DOCKER_USERNAME }}/gpt_server:${{ env.VERSION }} ${{ secrets.DOCKER_USERNAME }}/gpt_server:latest
27
37
# 推送镜像到 Docker Hub
28
- - name : Push Docker image
29
- run : docker push ${{ secrets.DOCKER_USERNAME }}/gpt_server:latest
38
+ - name : Push Docker image
39
+ run : |
40
+ docker push ${{ secrets.DOCKER_USERNAME }}/gpt_server:${{ env.VERSION }}
41
+ docker push ${{ secrets.DOCKER_USERNAME }}/gpt_server:latest
0 commit comments