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 }}   
相关推荐
IAR Systems4 天前
松下电工借助IAR CI/CD解决方案,实现品质与效率双重飞跃
ci/cd
Cherry的跨界思维4 天前
【AI测试全栈:质量】47、Vue+Prometheus+Grafana实战:打造全方位AI监控面板开发指南
vue.js·人工智能·ci/cd·grafana·prometheus·ai测试·ai全栈
古斯塔夫歼星炮4 天前
Dify + Jenkins 实现AI应用持续集成与自动化部署
ci/cd·jenkins·dify
codingWhat5 天前
手把手系列之——前端工程化
ci/cd·devops·前端工程化
测试渣5 天前
持续集成中的自动化测试框架优化实战指南
python·ci/cd·单元测试·自动化·pytest
我的xiaodoujiao6 天前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 51--CI/CD 4--推送本地代码到Git远程仓库
python·学习·测试工具·ci/cd·pytest
deephub7 天前
并行多智能体系统的协调测试实战:从轨迹捕获到CI/CD的六个步骤
人工智能·ci/cd·大语言模型·aiagent
你的论文学长7 天前
文本处理的 CI/CD:用 NLP 静态分析解决查重飘红与 Format Error
人工智能·ci/cd·自然语言处理·重构·论文·学习方法
嘎嘎NULL8 天前
Gitea配置邮箱
运维·服务器·gitea
嘎嘎NULL8 天前
Gitea禁止注册和Gitea禁止未登录用户探索仓库
gitea