-
Notifications
You must be signed in to change notification settings - Fork 0
61 lines (57 loc) · 2.79 KB
/
sd-scripts.yaml
File metadata and controls
61 lines (57 loc) · 2.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
name: sd-scripts
on:
push:
paths: ['Dockerfile-sd-scripts']
workflow_dispatch:
inputs:
env:
description: '手动触发'
default: 'prod'
# 只需要修改这里的变量就可以,如非必要,jobs下的参数不要动
env:
own: joybo # 需要修改为你的阿里云命名空间
repo: $(echo $GITHUB_REPOSITORY | cut -d'/' -f2) # 获取当前仓库的名称,阿里云需要创建同名仓库
server: registry.cn-hangzhou.aliyuncs.com # 你的阿里云服务器地址(不同区域的地址不一样)
server-id: cn-hangzhou # 服务器ID,看上面就可以
TZ: Asia/Shanghai
jobs:
Docker-Build-Release:
if: ${{ github.ref == 'refs/heads/main' }} # 检测main分支是否有更新
runs-on: ubuntu-latest
steps:
# 增加可用空间
- name: 关闭swap
run: sudo swapoff -a && sudo rm -rf /mnt/swapfile
- name: 删除所有Docker镜像
run: sudo docker image prune --all --force
- name: 删除CodeQL库
run: sudo rm -rf /opt/hostedtoolcache/CodeQL
- name: 删除ghc库
run: sudo rm -rf /opt/ghc
- name: 删除android库
run: sudo rm -rf /usr/local/lib/android
- name: 删除dotnet库
run: sudo rm -rf /usr/share/dotnet
- name: 删除缓存
run: sudo rm -rf /opt/*cache*
- name: 获取当前日期
id: date
run: echo "::set-output name=date::$(date +v%Y.%m.%d)"
- uses: actions/checkout@v2 # pull代码到运行服务器上
- name: 登录阿里云仓库
uses: aliyun/acr-login@v1 # 使用阿里云镜像服务action
with:
login-server: ${{ env.server}} # 务必正确填写镜像容器服务的登录地址
region-id: ${{ env.server-id }} # 务必正确填写镜像容器服务的登录地址
username: "${{ secrets.REGISTRY_USERNAME }}" # 引用GitHub repo设置的镜像容器服务用户名
password: "${{ secrets.REGISTRY_PASSWORD }}" # 引用GitHub repo设置的镜像容器服务密码
- name: 构建和上传Docker镜像
run: |
docker build -t ${{ env.server }}/${{ env.own }}/${{ env.repo }}:${{ steps.date.outputs.date }}-action-sd-scripts -f Dockerfile-sd-scripts .
docker push ${{ env.server }}/${{ env.own }}/${{ env.repo }}:${{ steps.date.outputs.date }}-action-sd-scripts
docker tag ${{ env.server }}/${{ env.own }}/${{ env.repo }}:${{ steps.date.outputs.date }}-action-sd-scripts ${{ env.server }}/${{ env.own }}/${{ env.repo }}:sd-scripts
docker push ${{ env.server }}/${{ env.own }}/${{ env.repo }}:sd-scripts
- name: Docker Pull 命令
run: |
echo "docker pull ${{ env.server }}/${{ env.own }}/${{ env.repo }}:${{ steps.date.outputs.date }}-action-sd-scripts"
echo "docker pull ${{ env.server }}/${{ env.own }}/${{ env.repo }}:sd-scripts"