github actions CICD简单使用案例

news2024/11/14 14:40:33

参考:
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.coloradmin.cn/o/2115752.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux 下 C/C++ 程序编译的过程

目录 一、GCC 工具链二、编译过程1、预处理2、编译3、汇编4、链接 本文将介绍如何将 C/C 语言编写的程序转换成为处理器能够执行的二进制代码的过程,包括四个步骤:预处理(Preprocessing)编译(Compilation)汇…

如何通过食堂采购小程序端降低成本,提升效率?

随着数字化管理工具的普及,越来越多的食堂正在引入小程序来优化采购流程,减少成本和提升效率。食堂采购小程序端通过技术手段实现了自动化、智能化的管理方式,为管理者提供了极大的便利。本文将探讨如何利用技术手段开发一个高效的食堂采购小…

【MATLAB】数据和字符串类型转换

数据和字符串类型转换 在 MATLAB 中,支持不同数据类型与字符串类型之间的转换,这需要使用不同的函数来实现。此外,相同的数据,特别是整数,可以用多种格式表示,例如十进制、二进制或十六进制。在 C 语言中&a…

vulhub远程执行命令漏洞CVE-2017-12636

1.打开环境 2.访问目标网站 CVE-2017-12636是一个任意命令执行漏洞,我们可以通过config api修改couchdb的配置query_server,这个配置项在设计、执行view的时候将被运行。 3.在网站中发现一个user表,我们可以带你进去看一下 里面是一个用户名…

每日一题|牛客竞赛|四舍五入|字符串+贪心+模拟

每日一题|四舍五入 四舍五入 心有猛虎,细嗅蔷薇。你好朋友,这里是锅巴的C\C学习笔记,常言道,不积跬步无以至千里,希望有朝一日我们积累的滴水可以击穿顽石。 四舍五入 题目: 牛牛发明了一种新的四舍五…

C语言手撕归并——递归与非递归实现(附动画及源码)

🤖💻👨‍💻👩‍💻🌟🚀 🤖🌟 欢迎降临张有志的未来科技实验室🤖🌟 专栏:数据结构 👨‍💻&#x1f…

【Python基础】Python函数

本文收录于 《Python编程入门》专栏,从零基础开始,分享一些Python编程基础知识,欢迎关注,谢谢! 文章目录 一、前言二、函数的定义与调用三、函数参数3.1 位置参数3.2 默认参数3.3 可变数量参数(或不定长参数…

springboot项目--后端问题记录

springboot项目后端记录 前言一、包1. lombok--自动生成勾子方法作用依赖使用 2. Validated--自动校验作用依赖使用一般参数校验实体参数校验 结论 3. JWT(json web taken) 令牌生成什么是takenJWT包依赖使用获取taken校验 封装的工具类使用 二、处理技巧1. 全局异常处理作用代…

服务器禁用远程(22)

vim /etc/ssh/sshd_config 修改 ListenAddress 0.0.0.0 为ListenAddress localhost 修改完后 重启一下sshd systemctl restart sshd 修改就生效了

【 html+css 绚丽Loading 】000044 两仪穿行轮

前言:哈喽,大家好,今天给大家分享htmlcss 绚丽Loading!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 &#x1f495…

数据库的配置2:客户端navicat的安装与连接数据库的方法

二.客户端的配置: 1.navicat ①安装: 破解根据文档进行破解即可 链接: https://pan.baidu.com/s/1M5KUv_fgRlFA50VfcV1VqA 提取码: j4a2 复制这段内容后打开百度网盘手机App,操作更方便哦 安装步骤很简单,直接下一步就好&…

Pandas处理数据,基本应用

Pandas是一个Python包,提供快速、灵活且表达力强的数据结构,旨在使处理“关系型”或“带标签”数据。专门设计用于进行数据分析和操作,它是建立在numpy之上,提供了易于使用的数据结构和数据分析工具。Pandas最主要的数据结构是Dat…

开启Hyper-V之后用不了VMware了,怎么破?

正文共:800 字 7 图,预估阅读时间:1 分钟 前面我们介绍了如何在Windows 10操作系统中启用Hyper-V虚拟化服务(什么?Windows自带的Hyper-V虚拟化你都没用过?),但是在启用Hyper-V服务之…

vulhub spring 远程命令执行漏洞(CVE-2016-4977)

1.执行以下命令启动靶场环境并在浏览器访问 cd /vulhub/spring/CVE-2016-4977#进入漏洞环境所在目录 docker-compose up -d #启动靶场 docker ps #查看容器信息 2.输入以下命令测试环境 192.168.0.107:8080/oauth/authorize?response_type${2*2}&client_idacme&sc…

RMSE 和 RMS 介绍

RMSE(Root Mean Square Error)和 RMS(Root Mean Square)都是衡量误差或数据变动的统计量。它们在数据分析、机器学习和统计中应用广泛。以下是它们的详细介绍: 1. RMSE(均方根误差) 定义&…

【verilog】1. 流水灯例程

文章目录 前言一、定义概念 缩写1. verilog 二、性质三、代码分解释四、完整代码参考文献 前言 数电课设 一、定义概念 缩写 1. verilog Verilog 是一种以代码形式来描述数字系统和电路的硬件描述语言 (HDL)。它由 Gateway Design Automation 在 20 世纪 80年代中期开发&a…

9.06.

#include "mywidget.h"mywidget::mywidget(QWidget *parent): QMainWindow(parent) {/*---------------------窗口设置(无边框)----------------------*/this->setWindowFlag(Qt::FramelessWindowHint);//窗口大小this->resize(590,950)…

大数据之Flink(二)

4、部署模式 flink部署模式: 会话模式(Session Mode)单作业模式(Per-Job Mode)应用模式(Application Mode) 区别在于集群的生命周期以及资源的分配方式;以及应用的main方法到底在…

WireShark过滤器

文章目录 一、WireShark过滤器概念1. 捕获过滤器(Capture Filters)2. 显示过滤器(Display Filters)3. 捕获过滤器与显示过滤器的区别4. 过滤器语法结构实际应用场景 二、WireShark捕获数据包列表1. **No.(序号&#xf…

vulhub ThinkPHP5 5.0.23远程代码执行漏洞

步骤一:.执行以下命令启动靶场环境并在浏览器访问 cd thinkphp/5.0.23-rcedocker-compose up -ddocker ps 步骤二:访问靶机环境 步骤三:/index.php?scaptcha 步骤四:利用HackBar _method__construct&filter[]system&me…