name: CI run-name: ${{ gitea.actor }} Gitea Actions 🚀🚀🚀 on: push: # Sequence of patterns matched against refs/heads branches: - main # Sequence of patterns matched against refs/tags tags: - v* env: # DOCKER_REGISTRY: docker.io # DOCKER_USERNAME: softyouling # 此处可修改为你任意 docker 镜像仓库地址和用户名 DOMAIN: gitea.lntu.edu.cn # IMAGE_NAME: code/demo/demo jobs: build: runs-on: ubuntu-latest container: image: ghcr.m.daocloud.io/catthehacker/ubuntu:act-latest volumes: - /var/run/user/1000/docker.sock:/var/run/docker.sock steps: # - name: 环境检测 # run: | # which node # node --version # which npm # npm --version # which docker # docker info # echo ${{ gitea.token }} # echo ${{ env.GITOPS_URL }} - name: 🔎拉取代码 uses: https://${{ env.DOMAIN }}/actions/checkout@v4 # Docker配置多平台环境 # - name: Docker配置多平台环境 # uses: https://${{ env.DOMAIN }}/actions/setup-buildx-action@v3 # - name: 获取当前时间 # id: date # run: echo "::set-output name=date::$(date +'%Y%m%d%H%M%S')" # - name: 构建 & 推送镜像 # uses: https://${{ env.DOMAIN }}/actions/docker-build-push@v6 # with: # image: ${{ gitea.repository }} # tags: ${{ gitea.sha }} # registry: softyouling-docker.pkg.coding.net # enableBuildKit: true # # multiPlatform: true # # platform: linux/amd64,linux/arm64,linux/arm/v7 # dockerfile: Dockerfile # username: ${{ secrets.DOCKER_USERNAME }} # password: ${{ secrets.DOCKER_PASSWORD }} - name: 🐬镜像构建推送 uses: https://${{ env.DOMAIN }}/actions/docker-build-push@main with: image: ${{ gitea.repository }} tags: ${{ gitea.sha }} registry: ${{ env.DOMAIN }} # enableBuildKit: true provenance: false dockerfile: Dockerfile username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} gtiops: runs-on: ubuntu-latest if: ${{ success() }} needs: [build] steps: - name: 🍏更新应用镜像 uses: http://gitea.lntu.edu.cn/actions/gitops@main with: email: "gitops@lntu.edu.cn" name: "千里走单骑" value: ${{ env.DOMAIN }}/${{ gitea.repository }} tag: ${{ gitea.sha }} url: ${{ env.DOMAIN }}/${{ secrets.GITOPS_REPO}} filename: ${{ secrets.FILE_NAME }} token: ${{ secrets.GITOPS_TOKEN }} 微信通知: runs-on: ubuntu-latest if: ${{success()}} needs: [build, gtiops] steps: # 发送通知 - name: 🚀微信通知 uses: https://${{ env.DOMAIN }}/actions/action-wechat-work@master # 若没有配置机器人WebHook则跳过 if: ${{ secrets.WECHAT_WORK_BOT_WEBHOOK != '' }} env: WECHAT_WORK_BOT_WEBHOOK: ${{ secrets.WECHAT_WORK_BOT_WEBHOOK }} with: msgtype: markdown content: "✅ 应用版本更新成功\n > 🐬 镜像:\n > softyouling-docker.pkg.coding.net/code/demo/demo:${{ gitea.sha }}\n > 🍏 就能帮你到这了"