66 # - published # 当发布新的 release 时触发
77 push :
88 branches :
9- - build_image # 在推送到 build_image 分支时触发构建
9+ - build_image # 在推送到 build_image 分支时触发构建
1010
1111jobs :
1212
@@ -16,14 +16,26 @@ jobs:
1616
1717 steps :
1818 # 检出代码
19- - name : Checkout code
20- uses : actions/checkout@v3
19+ - name : Checkout code
20+ uses : actions/checkout@v3
2121 # 登录 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+
2432 # 构建 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
2737 # 推送镜像到 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