sd-scripts #4
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 | |
| - name: Docker Pull 命令 | |
| run: echo "docker pull ${{ env.server }}/${{ env.own }}/${{ env.repo }}:${{ steps.date.outputs.date }}-action-sd-scripts" |