mirror of
https://github.com/songquanpeng/one-api.git
synced 2025-11-05 08:13:43 +08:00
chore: Update CI workflow with new builds, env var, and deploy job
* Update CI workflow with changes to branch names, builds, and jobs * Introduce new 'SHORT\_SHA' env variable for CI workflow * Rename 'docker' job to 'build\_latest' and utilize it in 'deploy' job * Implement specific branch builds and 'deploy' job for a specific host
This commit is contained in:
61
.github/workflows/ci.yml
vendored
61
.github/workflows/ci.yml
vendored
@@ -3,10 +3,41 @@ name: ci
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'main'
|
||||
- 'master'
|
||||
- 'test/ci'
|
||||
|
||||
jobs:
|
||||
docker:
|
||||
build_latest:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
-
|
||||
name: Login to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
-
|
||||
name: Build and push latest
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
tags: ppcelery/one-api:latest
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
|
||||
build_hash:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
@@ -29,15 +60,6 @@ jobs:
|
||||
- name: Add SHORT_SHA env property with commit short sha
|
||||
run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-7`" >> $GITHUB_ENV
|
||||
|
||||
-
|
||||
name: Build and push latest
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
tags: ppcelery/one-api:latest
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
-
|
||||
name: Build and push hash label
|
||||
uses: docker/build-push-action@v5
|
||||
@@ -47,3 +69,20 @@ jobs:
|
||||
tags: ppcelery/one-api:${{ env.SHORT_SHA }}
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
needs: build_latest
|
||||
steps:
|
||||
- name: executing remote ssh commands using password
|
||||
uses: appleboy/ssh-action@v1.0.3
|
||||
with:
|
||||
host: ${{ secrets.TARGET_HOST }}
|
||||
username: ${{ secrets.TARGET_HOST_USERNAME }}
|
||||
password: ${{ secrets.TARGET_HOST_PASSWORD }}
|
||||
port: ${{ secrets.TARGET_HOST_SSH_PORT }}
|
||||
script: |
|
||||
docker pull ppcelery/one-api:latest
|
||||
cd /home/laisky/repo/VPS
|
||||
docker-compose -f b1-docker-compose.yml up -d --remove-orphans --force-recreate oneapi
|
||||
docker ps
|
||||
|
||||
Reference in New Issue
Block a user