Gitea Action 简单配置(CI/CD)

线上pipeline,(我使用是本地仓库的,你们使用切换成官网的即可)

yaml 复制代码
# 工作流的名称

name: Build and Push Docker Image deployment-k8s

# 触发条件,只在 master 或 main 分支发送推送时触发
on:
  push:
    branches:
      - main

# 作业,工作流运行由一个或多个 jobs 组成,默认情况下并行运行
jobs:
  build-and-push-image:
    # 定义要运行作业的计算机类型
    runs-on: ubuntu-latest
    steps:
    # 检出代码
    - name: Checkout Code
      #uses: actions/checkout@v4
      uses: http://192.168.0.20:3000/admins/checkout@main

    # 设置 Docker BuildX
    - name: Set up Docker Buildx
      id: buildx
      #uses: docker/setup-buildx-action@v2.6.0
      uses: http://192.168.0.20:3000/admins/setup-buildx-action@v2.6.0

    # 登录 Registry       
    - name: Login to DockerHub
      #uses: docker/login-action@v2
      uses: http://192.168.0.20:3000/admins/login-action@v3
      with:
        registry: ${{ secrets.REGISTRY }}
        username: ${{ secrets.DOCKER_USERNAME }}
        password: ${{ secrets.DOCKER_PASSWORD }}
   
   
    # 构建并推送 Docker 镜像
    - name: Build Docker Image 
      id: docker_build
      uses: http://192.168.0.20:3000/admins/build-push-action@v4
      #uses: docker/build-push-action@v4
      with:
        push: true
        file: ./Dockerfile-uat
        tags: ${{ secrets.REGISTRY_PATH }}/www:${{ github.sha }}

    # 部署k8s
    - name: deploy to cluster
      #uses: actions-hub/kubectl@master
      uses: http://192.168.0.20:3000/admins/kubectl@main
      env:
        KUBE_CONFIG: ${{ secrets.KUBE_CONFIG_DATA_160 }}
      with:
        args: set image deployment/www-web www-web=${{ secrets.REGISTRY_PATH }}/www:${{ github.sha }}  -n test

    - name: verify deployment
      uses: http://192.168.0.20:3000/admins/kubectl@main
      env:
        KUBE_CONFIG: ${{ secrets.KUBE_CONFIG_DATA_160 }}
      with:
        args: rollout status deployment/www-web  -n test
流水线变量 --- 设置>>>> Runner >>> 密钥(输入你的变量)

注意原生使用k8s,然后在加入变量中

js 复制代码
cat $HOME/.kube/config | base64

如果你是AWS EKS如下简单配置使用专门EKS镜像:

js 复制代码
    - name: Deploy Application
      uses: statsig-io/kubectl-via-eksctl@main
      env:
        aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
        aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
        region: ap-northeast-1
        cluster: ${{ secrets.CLUSTER_NAME }}
      with:
        args: get pods -n prometheus
        #args: set image deployment/my-app container=${{ github.repository}}:${{ github.sha }}
Gitea Action工具链更丰富以下是他的市场和工具链,大家可以自己选择自己喜欢的工具
js 复制代码
#镜像包
https://github.com/actions/runner-images?tab=readme-ov-file#available-images

#入门文档
https://docs.github.com/zh/actions/writing-workflows/quickstart

#市场
https://github.com/marketplace?type=actions
最后还可以加入一个webhook,目前只找到一个飞书的
yaml 复制代码
    - name: Send Text Message
      #uses: foxundermoon/feishu-action@v2
      uses: http://192.168.0.20:3000/admins/feishu-action@v2
      with:
        url: ${{ secrets.FEISHU_BOT_WEBHOOK_URL }}
        msg_type: text
        content: |
          text: |
           发布者/项目名: ${{ github.repository }}
           项目状态: ${{ job.status }}   
相关推荐
测试员周周9 小时前
【免费福利】AI测试:测试技能包进阶:造数、压测、视觉回归、CI 全流程串联
开发语言·人工智能·python·功能测试·测试工具·ci/cd·测试用例
梵得儿SHI2 天前
(第三篇)Spring AI 架构设计与优化:容器化与云原生部署,基于 K8s 的 AI 应用全生命周期管理
java·ci/cd·docker·云原生·kubernetes·容器化·spring ai
zhangfeng11332 天前
CI/CD 是软件开发中的两个核心实践,合起来指代一套自动化的软件交付流程
运维·ci/cd·自动化
前端不太难3 天前
鸿蒙游戏 CI/CD:为什么你还在手动打包?
游戏·ci/cd·harmonyos
牛奶咖啡133 天前
CI/CD——使用Jenkins自动化构建java项目之使用传统方式部署java web项目jpress
ci/cd·jenkins·jenkins创建任务·实现jpress的自动化部署·git的ssh主机密钥问题解决·配置ssh免密登录·在线安装jdk1.8环境
牛奶咖啡133 天前
CI/CD——使用Jenkins实现自动化部署与持续集成之jenkins插件与凭据配置
ci/cd·jenkins·jenkins必备插件安装·jenkins全局工具配置·jenkins的凭据配置·jenkins自动化部署流程·jenkinsgitlab集成
庚昀◟5 天前
腾讯云 CVM + Docker + Jenkins + GitLab CI/CD 全流程指南(python、flask实现简单计算器)
python·ci/cd·docker·flask·jenkins
牛奶咖啡135 天前
CI/CD——使用Jenkins实现自动化部署与持续集成
ci/cd·jenkins·jenkins是什么?有啥用·jenkins有哪些适用场景·jenkins的优缺点·jenkins的安装部署·jenkins安装必备环境
测试那点事儿6 天前
第10章 零基础接口自动化到 Jenkins 持续集成【定时监控与邮件告警完整落地】
ci/cd·自动化·jenkins
行者-全栈开发7 天前
Linux 核弹级高危漏洞 CVE-2026-31431 完整修复指南
linux·运维·服务器·ci/cd·devops·cve·核弹级高危漏洞