demo/.gitea/workflows/ci.yaml

99 lines
3.0 KiB
YAML

name: CI
run-name: ${{ github.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
# DOMAIN: softyouling-docker.pkg.coding.net
IMAGE_NAME: code/demo/demo
GITOPS_URL: ${{ env.DOMAIN }}/${{ secrets.GITOPS_REPO }}
jobs:
build:
runs-on: ubuntu-latest
# container: catthehacker/ubuntu:act-latest
steps:
# - name: 环境检测
# run: |
# which node
# node --version
# which npm
# npm --version
# which docker
# docker info
# echo ${{ github.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: ${{ env.IMAGE_NAME }}
tags: ${{ github.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 }}
gtiops:
runs-on: ubuntu-latest
if: ${{ success() }}
needs: [build]
steps:
- name: 🐬更新应用镜像
uses: https://${{ env.DOMAIN }}/actions/gitops-action@main
with:
gitops-token: ${{ secrets.GITOPS_TOKEN }}
gitops-url: ${{ env.GITOPS_URL }}
commit-email: "gitops@lntu.edu.cn"
commit-name: "千里走单骑"
file-name: ${{ secrets.FILE_NAME }}
images-value: softyouling-docker.pkg.coding.net/code/demo/demo:${{ github.sha }}
image-tag: ${{ github.sha }}
微信通知:
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:${{ github.sha }}\n
> 🍏 就能帮你到这了"