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

github actions CICD简单使用案例

参考:
https://developer.aliyun.com/article/1540773
https://github.com/ViggoZ/producthunt-daily-hot/blob/main/.github/workflows/generate_markdown.yml

1、创建github项目

在这里插入图片描述
目录:
.github/workflows/fetch-news.yml actions执行yaml(必须这样的目录结构)
fetch-news.py 是python脚本
在这里插入图片描述
在这里插入图片描述
fetch-news.py

import random

def generate_random_number():
    random_number = random.randint(1, 100)  # 生成1100之间的随机数
    with open("news.txt", "w") as file:
        file.write(f"Random Number: {random_number}\n")

if __name__ == "__main__":
    generate_random_number()

2、构建actions ymal文档

.github/workflows/fetch-news.yml

cron 程序执行周期
token 是秘钥
git push https:// s e c r e t s . P A T @ g i t h u b . c o m / {{ secrets.PAT }}@github.com/ secrets.PAT@github.com/{{ github.repository }}.git HEAD:${{ github.ref }} 内容在同步到github上

name: Fetch Latest News

on:
  schedule:
    - cron: '*/5 * * * *'  # 每5分钟运行一次

jobs:
  fetch-news:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout code
      uses: actions/checkout@v2
      with:
        token: ${{ secrets.PAT }}  # 使用 PAT 进行 checkout

    - name: Set up Python
      uses: actions/setup-python@v2
      with:
        python-version: '3.8'

    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install requests

    - name: Fetch news
      run: |
        python fetch_news.py

    - name: Commit and push news
      run: |
        git config --global user.name "github-actions[bot]"
        git config --global user.email "github-actions[bot]@users.noreply.github.com"
        git add news.txt
        git commit -m "Update news"
        git push https://${{ secrets.PAT }}@github.com/${{ github.repository }}.git HEAD:${{ github.ref }}
      env:
        PAT: ${{ secrets.PAT }}

3、设置各种权限、token

1)首先github上设置开发者秘钥
https://github.com/settings/tokens?type=beta
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2)本项目设置
token设置:
可以设置为PAT,value是前面github设置的token值
在这里插入图片描述
在这里插入图片描述
actions通用设置:
在这里插入图片描述

在这里插入图片描述

4、最后程序按设置自动运行

在这里插入图片描述


http://www.kler.cn/a/300592.html

相关文章:

  • 【网络协议】RFC3164-The BSD syslog Protocol
  • leetcode-买卖股票问题
  • 使用 Thermal Desktop 进行航天器热分析
  • 华为数据中心CE系列交换机级联M-LAG配置示例
  • SpringBoot项目打war包要点
  • 软考高级5个资格、中级常考4个资格简介及难易程度排序
  • uniapp 各个端接入腾讯滑动行为验证码示例
  • 毕业论文word页眉页脚和页码的问题
  • 【笔记】自动驾驶预测与决策规划_Part1_自动驾驶决策规划简介
  • WinCC Professional 变量的线性转换
  • Java 每日一刊(第4期):Java 23 即将发布
  • CCF编程能力等级认证GESP—C++4级—20240907
  • ES-Search API
  • TCP 拥塞控制:一场网络数据的交通故事
  • Docker 镜像的发布过程
  • 633. 平方数之和-LeetCode(C++)
  • 网络学习-eNSP配置VRRP
  • 【大模型推理】大模型前向推理过程详解
  • PMP–一、二、三模–分类–14.敏捷–技巧–看板面板与燃尽图燃起图
  • VS Code与SVN关联
  • Neo4j图数据库
  • Node.js快速入门
  • 僵尸网络开发了新的攻击技术和基础设施
  • 机器人入门系列:《通过蓝牙模块通讯控制机器人电机转动》
  • Rust在Web开发中的优势是什么?
  • 【lua实战】数组和数组长度