42 lines
1.1 KiB
YAML
42 lines
1.1 KiB
YAML
name: Deploy
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: aliyun
|
|
steps:
|
|
- name: Install Docker CLI
|
|
run: |
|
|
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
|
|
apk add --no-cache docker-cli
|
|
|
|
- name: Checkout
|
|
run: |
|
|
git clone --depth 1 -b main \
|
|
http://47.121.181.112:3000/wonder/illustrated-algorithm.git \
|
|
/tmp/illustrated-algorithm
|
|
|
|
- name: Build Docker Image
|
|
run: |
|
|
docker build \
|
|
--cache-from illustrated-algorithm:latest \
|
|
-t illustrated-algorithm:latest \
|
|
/tmp/illustrated-algorithm
|
|
|
|
- name: Deploy Container
|
|
run: |
|
|
docker stop illustrated-algorithm 2>/dev/null || true
|
|
docker rm illustrated-algorithm 2>/dev/null || true
|
|
docker run -d \
|
|
--name illustrated-algorithm \
|
|
--restart unless-stopped \
|
|
-p 10000:80 \
|
|
illustrated-algorithm:latest
|
|
|
|
- name: Cleanup Dangling Images
|
|
run: docker image prune -f
|