当前位置: 首页 > news >正文

Gitea Action 简单配置(CI/CD)

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

# 工作流的名称name: Build and Push Docker Image deployment-k8s# 触发条件,只在 master 或 main 分支发送推送时触发
on:push:branches:- main# 作业,工作流运行由一个或多个 jobs 组成,默认情况下并行运行
jobs:build-and-push-image:# 定义要运行作业的计算机类型runs-on: ubuntu-lateststeps:# 检出代码- name: Checkout Code#uses: actions/checkout@v4uses: http://192.168.0.20:3000/admins/checkout@main# 设置 Docker BuildX- name: Set up Docker Buildxid: buildx#uses: docker/setup-buildx-action@v2.6.0uses: http://192.168.0.20:3000/admins/setup-buildx-action@v2.6.0# 登录 Registry       - name: Login to DockerHub#uses: docker/login-action@v2uses: http://192.168.0.20:3000/admins/login-action@v3with:registry: ${{ secrets.REGISTRY }}username: ${{ secrets.DOCKER_USERNAME }}password: ${{ secrets.DOCKER_PASSWORD }}# 构建并推送 Docker 镜像- name: Build Docker Image id: docker_builduses: http://192.168.0.20:3000/admins/build-push-action@v4#uses: docker/build-push-action@v4with:push: truefile: ./Dockerfile-uattags: ${{ secrets.REGISTRY_PATH }}/www:${{ github.sha }}# 部署k8s- name: deploy to cluster#uses: actions-hub/kubectl@masteruses: http://192.168.0.20:3000/admins/kubectl@mainenv: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 deploymentuses: http://192.168.0.20:3000/admins/kubectl@mainenv:KUBE_CONFIG: ${{ secrets.KUBE_CONFIG_DATA_160 }}with:args: rollout status deployment/www-web  -n test

流水线变量 — 设置>>>> Runner >>> 密钥(输入你的变量)

在这里插入图片描述

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

cat $HOME/.kube/config | base64

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

    - name: Deploy Applicationuses: statsig-io/kubectl-via-eksctl@mainenv:aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}region: ap-northeast-1cluster: ${{ secrets.CLUSTER_NAME }}with:args: get pods -n prometheus#args: set image deployment/my-app container=${{ github.repository}}:${{ github.sha }}
Gitea Action工具链更丰富以下是他的市场和工具链,大家可以自己选择自己喜欢的工具
#镜像包
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,目前只找到一个飞书的
    - name: Send Text Message#uses: foxundermoon/feishu-action@v2uses: http://192.168.0.20:3000/admins/feishu-action@v2with:url: ${{ secrets.FEISHU_BOT_WEBHOOK_URL }}msg_type: textcontent: |text: |发布者/项目名: ${{ github.repository }}项目状态: ${{ job.status }}   

在这里插入图片描述

http://www.lryc.cn/news/439739.html

相关文章:

  • 苍穹外卖 修改nginx的端口后websocket连接失败解决
  • 快速解决Linux中wine程序中文显示为方块的问题
  • 【C++前后缀分解 动态规划】2100. 适合野炊的日子|1702
  • HarmonyOS 速记
  • 使用 Milvus、vLLM 和 Llama 3.1 搭建 RAG 应用
  • 【springboot】父子工程项目搭建
  • 【Paper Reading】结合 NanoFlow 研究,优化大语言模型服务效率的探索
  • 达芬奇竖屏导出有黑屏解决方案
  • Elasticsearch Java API 针对 Geohash7 网点进行分桶聚合
  • Transformer学习(1):注意力机制
  • spring模块(六)spring event事件(3)广播与异步问题
  • 【Elasticsearch系列八】高阶使用
  • 【H2O2|全栈】关于CSS(4)CSS基础(四)
  • node.js+Koa框架+MySQL实现注册登录
  • 矢量化操作
  • 【LeetCode】每日一题 2024_9_16 公交站间的距离(模拟)
  • 【Python笔记】PyCharm大模型项目环境配置
  • FPGA-Vivado-IP核-虚拟输入输出(VIO)
  • 使用knn算法对iris数据集进行分类
  • GEE Shapefile 格式转换 GeoJSON
  • 从kaggle竞赛零基础上手CV实战(Deepfake检测)
  • Linux cat命令详解使用:高效文本内容管理
  • YOLOv9改进系列,YOLOv9颈部网络SPPELAN替换为FocalModulation
  • 圆环加载效果
  • leetcode - 分治思想
  • Java面试题·解释题·单例模式、工厂模式、代理模式部分
  • 如何编写智能合约——基于长安链的Go语言的合约开发
  • 【PHP代码审计】PHP基础知识
  • 大模型笔记03--快速体验dify
  • Linux常用命令以及操作技巧