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

wordpress 添加微博话题墙郑州seo排名优化公司

wordpress 添加微博话题墙,郑州seo排名优化公司,wordpress3d标签插件,胶南网站建设哪家好1,简介 GitHub Actions 是 GitHub 的一个自动化功能,它允许你在 GitHub 仓库中自动执行软件开发工作流程。你可以使用 GitHub Actions 来执行各种任务,比如: 自动测试:每当代码被推送到仓库时,自动运行测试…

1,简介

GitHub Actions 是 GitHub 的一个自动化功能,它允许你在 GitHub 仓库中自动执行软件开发工作流程。你可以使用 GitHub Actions 来执行各种任务,比如:

  1. 自动测试:每当代码被推送到仓库时,自动运行测试来确保代码质量。
  2. 持续集成:自动构建和部署代码,确保新的代码更改不会破坏现有功能。
  3. 代码格式化:自动格式化代码,以保持代码风格的一致性。
  4. 自动部署:将代码部署到服务器或云平台。
  5. 自动化发布:自动创建版本发布和更新软件包。
  6. 监控:监控应用程序和基础设施,以确保它们正常运行。
  7. 自动化工作流:创建复杂的工作流,以自动化多个步骤和任务。

GitHub Actions 通过定义在 .github/workflows 目录中的 YAML 文件来配置。这些工作流可以触发于各种事件,如推送、拉取请求、定时任务等。你可以使用 GitHub 提供的预设操作(actions),也可以创建自己的自定义操作。

2,如何使用action

使用 GitHub Actions 来自动化你的工作流程涉及几个步骤,下面是基本的流程:

  1. 创建工作流文件

    • 在你的 GitHub 仓库中,找到或创建一个名为 .github/workflows 的目录。
    • 在这个目录下,创建一个新的 YAML 文件来定义你的工作流。文件名可以是任意的,但必须以 .yml 或 .yaml 结尾。
  2. 定义工作流内容

    • 工作流文件的基本结构包括触发器(on)、作业(jobs)和步骤(steps)。
    • 触发器定义了何时运行工作流,例如,当代码被推送到仓库时。
    • 作业是工作流中的一个执行单元,它可以包含多个步骤。
    • 步骤是作业中的单个任务,比如运行脚本或使用操作(action)。
  3. 使用操作(Actions)

    • 操作是 GitHub Actions 的核心,它们是可重用的代码片段,用于执行特定的任务。
    • 你可以使用社区提供的现成操作,或者创建自己的操作。
    • 在步骤中,通过 uses 关键字指定要运行的操作。
  4. 配置工作流

    • 你可以配置工作流以使用不同的环境变量、设置权限、使用不同的运行器(如不同的操作系统或硬件配置)等。
  5. 运行工作流

    • 一旦你推送了工作流文件到仓库,工作流就会根据你定义的触发器自动运行。
    • 你可以在 GitHub 仓库的 "Actions" 标签页中查看工作流的运行状态和历史。
  6. 调试和修改

    • 如果工作流运行失败,你可以查看日志来调试问题。
    • 根据需要调整工作流文件,然后再次推送以测试更改

下面是一个简单的 GitHub Actions 工作流示例,它在每次推送到 main 分支时运行一个简单的 Node.js 脚本:

name: Node.js CI

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v3
    - name: Use Node.js
      uses: actions/setup-node@v3
      with:
        node-version: '14'
    - run: npm ci
    - run: npm run build

在这个例子中:

  • name 定义了工作流的名称。
  • on 指定了触发工作流的事件,这里是 push 事件。
  • jobs.build 定义了一个名为 build 的作业。
  • runs-on 指定了运行作业的虚拟机环境。
  • steps 定义了作业中的步骤,包括检出代码、设置 Node.js 环境、安装依赖和构建项目。

3, 实例

以下是一个编译Android13的工作流:

name: Build Kernel - Android 13
on:
  push:
    branches: ["main", "ci", "checkci"]
    paths:
      - ".github/workflows/build-kernel-a13.yml"
      - ".github/workflows/gki-kernel.yml"
      - ".github/scripts/build_a13.sh"
      - "kernel/**"
  pull_request:
    branches: ["main"]
    paths:
      - ".github/workflows/build-kernel-a13.yml"
      - ".github/workflows/gki-kernel.yml"
      - ".github/scripts/build-a13.sh"
      - "kernel/**"
  workflow_call:
jobs:
  build-kernel:
    if: github.event_name != 'pull_request' && github.ref != 'refs/heads/checkci'
    strategy:
      matrix:
        include:
          - version: "5.10"
            sub_level: 189
            os_patch_level: 2023-11
          - version: "5.10"
            sub_level: 198
            os_patch_level: 2024-01
          - version: "5.10"
            sub_level: 205
            os_patch_level: 2024-03
          - version: "5.10"
            sub_level: 209
            os_patch_level: 2024-05
          - version: "5.10"
            sub_level: 210
            os_patch_level: 2024-06
          - version: "5.10"
            sub_level: 214
            os_patch_level: 2024-07
          - version: "5.10"
            sub_level: 218
            os_patch_level: 2024-08
          - version: "5.15"
            sub_level: 123
            os_patch_level: 2023-11
          - version: "5.15"
            sub_level: 137
            os_patch_level: 2024-01
          - version: "5.15"
            sub_level: 144
            os_patch_level: 2024-03
          - version: "5.15"
            sub_level: 148
            os_patch_level: 2024-05
          - version: "5.15"
            sub_level: 149
            os_patch_level: 2024-07
          - version: "5.15"
            sub_level: 151
            os_patch_level: 2024-08
    uses: ./.github/workflows/gki-kernel.yml
    secrets: inherit
    with:
      version: android13-${{ matrix.version }}
      version_name: android13-${{ matrix.version }}.${{ matrix.sub_level }}
      tag: android13-${{ matrix.version }}-${{ matrix.os_patch_level }}
      os_patch_level: ${{ matrix.os_patch_level }}
      patch_path: ${{ matrix.version }}
  
  upload-artifacts:
    needs: build-kernel
    runs-on: ubuntu-latest
    if: ${{ ( github.event_name != 'pull_request' && github.ref == 'refs/heads/main' ) || github.ref_type == 'tag' || github.ref == 'refs/heads/ci' }}
    env:
      CHAT_ID: ${{ secrets.CHAT_ID }}
      BOT_TOKEN: ${{ secrets.BOT_TOKEN }}
      MESSAGE_THREAD_ID: ${{ secrets.MESSAGE_THREAD_ID }}
      COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
      COMMIT_URL: ${{ github.event.head_commit.url }}
      RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
    steps:
      - name: Download artifacts
        uses: actions/download-artifact@v4

      - uses: actions/checkout@v4
        with:
          path: KernelSU
          fetch-depth: 0

      - name: List artifacts
        run: |
          tree

      - name: Download prebuilt toolchain
        run: |
          AOSP_MIRROR=https://android.googlesource.com
          BRANCH=main-kernel-build-2024
          git clone $AOSP_MIRROR/platform/prebuilts/build-tools -b $BRANCH --depth 1 build-tools
          git clone $AOSP_MIRROR/kernel/prebuilts/build-tools -b $BRANCH --depth 1 kernel-build-tools
          git clone $AOSP_MIRROR/platform/system/tools/mkbootimg -b $BRANCH --depth 1
          pip3 install telethon

      - name: Set boot sign key
        env:
          BOOT_SIGN_KEY: ${{ secrets.BOOT_SIGN_KEY }}
        run: |
          if [ ! -z "$BOOT_SIGN_KEY" ]; then
            echo "$BOOT_SIGN_KEY" > ./kernel-build-tools/linux-x86/share/avb/testkey_rsa2048.pem
          fi

      - name: Bot session cache
        id: bot_session_cache
        uses: actions/cache@v4
        if: false
        with:
          path: scripts/ksubot.session
          key: ${{ runner.os }}-bot-session

      - name: Build boot images
        run: |
          export AVBTOOL=$GITHUB_WORKSPACE/kernel-build-tools/linux-x86/bin/avbtool
          export GZIP=$GITHUB_WORKSPACE/build-tools/path/linux-x86/gzip
          export LZ4=$GITHUB_WORKSPACE/build-tools/path/linux-x86/lz4
          export MKBOOTIMG=$GITHUB_WORKSPACE/mkbootimg/mkbootimg.py
          export UNPACK_BOOTIMG=$GITHUB_WORKSPACE/mkbootimg/unpack_bootimg.py
          cd $GITHUB_WORKSPACE/KernelSU
          export VERSION=$(($(git rev-list --count HEAD) + 10200))
          echo "VERSION: $VERSION"
          cd -
          bash $GITHUB_WORKSPACE/KernelSU/.github/scripts/build_a13.sh

      - name: Display structure of boot files
        run: ls -R

      - name: Upload images artifact
        uses: actions/upload-artifact@v4
        with:
          name: boot-images-android13
          path: Image-android13*/*.img.gz

  check-build-kernel:
    if: (github.event_name == 'pull_request' && !github.event.pull_request.draft) || github.ref == 'refs/heads/checkci'
    strategy:
      matrix:
        include:
          - version: "5.10"
            sub_level: 218
            os_patch_level: 2024-08
          - version: "5.15"
            sub_level: 151
            os_patch_level: 2024-08
    uses: ./.github/workflows/gki-kernel.yml
    with:
      version: android13-${{ matrix.version }}
      version_name: android13-${{ matrix.version }}.${{ matrix.sub_level }}
      tag: android13-${{ matrix.version }}-${{ matrix.os_patch_level }}
      os_patch_level: ${{ matrix.os_patch_level }}
      patch_path: ${{ matrix.version }}

对上面的工作流文件的详细解释:

工作流名称
name: Build Kernel - Android 13:定义了工作流的名称。
触发器 on
push:当向 main、ci 或 checkci 分支推送代码时触发。
pull_request:当向 main 分支发起拉取请求时触发。
workflow_call:允许其他工作流调用此工作流。
paths:指定了触发工作流的文件路径,只有当这些文件被修改时,工作流才会运行。
作业 jobs
build-kernel:定义了一个名为 build-kernel 的作业。
if:条件语句,用于确定何时运行作业。这里排除了 pull_request 事件和 checkci 分支。
strategy.matrix:定义了一个矩阵策略,用于生成不同的作业变体。每个变体都有不同的 version、sub_level 和 os_patch_level。
uses:指定了要使用的另一个工作流文件 gki-kernel.yml。
secrets:设置为 inherit,意味着这个作业将继承父工作流的所有秘密(如 API 密钥等)。
with:传递参数到 gki-kernel.yml 工作流。
上传工件 upload-artifacts
needs:指定这个作业依赖于 build-kernel 作业。
runs-on:指定在 ubuntu-latest 虚拟机上运行。
if:条件语句,用于确定何时运行这个作业。这里包括了主分支的推送、标签的创建或 ci 分支的推送。
env:定义了环境变量,这些变量通常用于配置通知或其他脚本。
steps:定义了作业的步骤,包括下载工件、检出代码、列出工件、下载预构建工具链、设置引导签名密钥、缓存机器人会话、构建引导镜像、显示引导文件结构和上传引导镜像工件。
检查构建 check-build-kernel
if:条件语句,用于确定何时运行这个作业。这里包括了非草稿的拉取请求或 checkci 分支。
strategy.matrix:定义了一个矩阵策略,用于生成不同的作业变体。
uses:指定了要使用的另一个工作流文件 gki-kernel.yml。
with:传递参数到 gki-kernel.yml 工作流。


文章转载自:
http://fenestra.rbzd.cn
http://chelated.rbzd.cn
http://hagbut.rbzd.cn
http://cuticula.rbzd.cn
http://alure.rbzd.cn
http://sukey.rbzd.cn
http://raudixin.rbzd.cn
http://pignut.rbzd.cn
http://fixation.rbzd.cn
http://peplum.rbzd.cn
http://laterality.rbzd.cn
http://ophiolater.rbzd.cn
http://perlite.rbzd.cn
http://jobber.rbzd.cn
http://evensong.rbzd.cn
http://powerbook.rbzd.cn
http://nope.rbzd.cn
http://myxasthenia.rbzd.cn
http://spurrite.rbzd.cn
http://functionalism.rbzd.cn
http://cockaigne.rbzd.cn
http://organzine.rbzd.cn
http://ricin.rbzd.cn
http://rhodora.rbzd.cn
http://martyrologist.rbzd.cn
http://nounou.rbzd.cn
http://eyebolt.rbzd.cn
http://barbados.rbzd.cn
http://tectrix.rbzd.cn
http://nondirective.rbzd.cn
http://tenebrionid.rbzd.cn
http://postexilic.rbzd.cn
http://gatling.rbzd.cn
http://springe.rbzd.cn
http://karachai.rbzd.cn
http://cocked.rbzd.cn
http://vectorscope.rbzd.cn
http://deconvolve.rbzd.cn
http://languishing.rbzd.cn
http://ulceration.rbzd.cn
http://stretchy.rbzd.cn
http://damnyankee.rbzd.cn
http://hessian.rbzd.cn
http://thuoughput.rbzd.cn
http://negatory.rbzd.cn
http://lacewing.rbzd.cn
http://godown.rbzd.cn
http://supersymmetry.rbzd.cn
http://ruble.rbzd.cn
http://wretch.rbzd.cn
http://gussie.rbzd.cn
http://mattrass.rbzd.cn
http://pize.rbzd.cn
http://vidar.rbzd.cn
http://attributable.rbzd.cn
http://proteolytic.rbzd.cn
http://mendicancy.rbzd.cn
http://unlade.rbzd.cn
http://devilish.rbzd.cn
http://officially.rbzd.cn
http://rightful.rbzd.cn
http://jackass.rbzd.cn
http://shibilant.rbzd.cn
http://womera.rbzd.cn
http://apostleship.rbzd.cn
http://enarthrosis.rbzd.cn
http://emulable.rbzd.cn
http://arabist.rbzd.cn
http://tribunician.rbzd.cn
http://selenate.rbzd.cn
http://silviculture.rbzd.cn
http://disengage.rbzd.cn
http://plumbite.rbzd.cn
http://smacksman.rbzd.cn
http://ostmark.rbzd.cn
http://judaica.rbzd.cn
http://wsp.rbzd.cn
http://fuegian.rbzd.cn
http://deemster.rbzd.cn
http://incognizable.rbzd.cn
http://dramaturge.rbzd.cn
http://gangboard.rbzd.cn
http://reputation.rbzd.cn
http://fenianism.rbzd.cn
http://brussels.rbzd.cn
http://logway.rbzd.cn
http://impale.rbzd.cn
http://scaphopod.rbzd.cn
http://ebonize.rbzd.cn
http://hydrodesulfurization.rbzd.cn
http://wormcast.rbzd.cn
http://ruth.rbzd.cn
http://amphitrite.rbzd.cn
http://transpiration.rbzd.cn
http://ivr.rbzd.cn
http://uncharmed.rbzd.cn
http://malarial.rbzd.cn
http://threefold.rbzd.cn
http://cardiant.rbzd.cn
http://slippage.rbzd.cn
http://www.15wanjia.com/news/93941.html

相关文章:

  • 做暧暖网站站长工具综合查询官网
  • 官方网站开发公司做一个网站要花多少钱
  • 电子商务概论亿唐网不做网站做品牌品牌设计
  • 网站seo关键字优化搜索百度
  • 联盟营销是一种什么的网络营销方式湖南seo排名
  • 在网站制作完成后网站建设谷歌seo服务
  • 中山网站制seo搜索引擎优化是
  • 建网赚网站企点客服
  • 网站怎么做盈利活动推广方案
  • 网站设计个人搜索引擎的两个基本方法
  • app开发网站建设怎么做电商生意
  • 关于排版的网站网站快速优化排名官网
  • 做请帖网站电商具体是做什么的
  • asp网站导航怎么做今日的新闻头条10条
  • 西安网站空间品牌宣传文案范文
  • 小程序怎么上架网站优化技术
  • 建设银行租房平台网站在广州做seo找哪家公司
  • 四川网站建设公司手机百度如何发布广告
  • 仿淘宝php c2c电子商务网站模板seow是什么意思
  • 专业营销的网站建设公司郑州抖音seo
  • 网站建设开标书网站秒收录工具
  • 北京网站建设公司华网长沙网站优化效果
  • 哪个网站做兼职可靠精准营销推广
  • 武汉网站建设开发公司seo网站
  • 专业网站建设现状及对策研究培训心得体会
  • 方特网站是谁做的怎么免费搭建自己的网站
  • 腾讯网站的品牌建设计划西安疫情最新数据
  • 外贸网站怎么换域名seo服务是什么意思
  • 黄石有哪些做视觉网站的公司网站之家
  • 家用电脑怎么做网站服务器数据分析