标签: github-actions

使用 github 操作创建拉取请求

我试图让它发挥作用,但我也很困惑,在触发彼得埃文斯公关之前,它之间缺少什么。

这个场景非常简单,我喜欢在任何 feature/* 分支上推送,自动创建 PR,但相反,我遇到了奇怪的场景,其中开发更改应用于 feature/* 分支之上。有人可以给我提示吗?

name: Pull Request Action
on:
  push:
    branches:
      - feature/*

jobs:
  create-pull-request:
    runs-on: ubuntu-latest
    steps:
      - name: Check out repository code
        uses: actions/checkout@v2
        with:
          fetch-depth: 0
          ref: develop
      
      - name: Create Pull Request
        uses: peter-evans/create-pull-request@v3.10.0
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          commit-message: Simple demo
          title: '[Example] Simple demo'
          body: >
            This PR is auto-generated by 
            [create-pull-request](https://github.com/peter-evans/create-pull-request).
          labels: feature, automated pr
          branch: feature/workflow-demo
Run Code Online (Sandbox Code Playgroud)

github pull-request github-actions

29
推荐指数
3
解决办法
3万
查看次数

[GitHub Actions]:创建 Artifact 容器失败:已达到 Artifact 存储配额。无法上传任何新工件

我有一个 GitHub 工作流程,可以为我的 Flutter 应用程序创建 APK。直到最近这一切都很好,我似乎已经耗尽了某种配额。现在,当工作流程运行时,我收到此错误:

Create Artifact Container failed: Artifact storage quota has been hit. Unable to upload any new artifacts
Run Code Online (Sandbox Code Playgroud)

我认为删除所有工件会再次释放空间,因此我使用了另一个工作流程来实现此目的:

name: 'Delete old artifacts'

on:
  push:
    branches:
      - master
      - develop
  pull_request:
    branches:
      - master
      - develop

jobs:
  delete-artifacts:
    runs-on: ubuntu-latest
    steps:
      - uses: kolpav/purge-artifacts-action@v1
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          expire-in: 0days
Run Code Online (Sandbox Code Playgroud)

新的工作流程似乎正在运行,我不再在 GitHub UI 中看到旧文件。但是,在尝试运行 APK 工作流程时我仍然收到错误。有什么想法如何修复这个错误吗?


更新

我的 GitHub 说我已经用完了包含的服务(免费版本)。有办法撤销吗?仅仅删除工件似乎还不够。 在此输入图像描述

workflow github github-actions

29
推荐指数
4
解决办法
3万
查看次数

GitHub Actions 在作业失败时禁用自动取消

我有以下 GitHub Actions 配置文件(为简单起见,删除了部分内容)。

name: CI
on: push

jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [8.x, 10.x, 12.x, 13.x]
    steps:
      - uses: actions/checkout@v2
      - name: Use Node.js
        uses: actions/setup-node@v1
        with:
          node-version: ${{ matrix.node-version }}
      - run: npm install
      - run: npm test
Run Code Online (Sandbox Code Playgroud)

我遇到的主要问题是 Node.js 版本 8 的测试失败了。但其余的都成功了。在这种情况下,如果一项作业失败,GitHub Actions 往往会取消所有作业。

有没有一种方法可以改变这种行为,以便所有作业即使出现故障也将继续运行?这有助于查明特定版本的问题。

continuous-integration github github-actions

28
推荐指数
1
解决办法
4300
查看次数

Echo Github Action 环境变量

我正在尝试深入研究 GitHub 操作,等等 .ylm 文件,并了解我想回显一些环境变量的过程,例如${{ github.repository }}或或类似或任何其他的${{ github.repository_owner }}事件秘密,并在输出中我'${{ secrets.GITHUB_TOKEN }}我得到了***

有没有办法强制输出显示实际值而不是星号?

开发者ylm

name: Dev

on:
  workflow_dispatch:
  push:
    branches:
      - dev

env:
  BUILD_TYPE: core
  DEFAULT_PYTHON: 3.8

jobs:
  any_name:
    runs-on: ubuntu-latest
    steps:
      - name: Any Name Bash Test Step
        shell: bash
        run: |
          echo "GH_REPO: $GH_REPO"
          echo "GH_REPO_O: $GH_REPO_O"
          echo "GH_T: $GH_T"
        env:
          GH_REPO: ${{ github.repository }}
          GH_REPO_O: ${{ github.repository_owner }}
          GH_T: ${{ secrets.GITHUB_TOKEN }}
Run Code Online (Sandbox Code Playgroud)

输出

Run echo "GH_REPO: $GH_REPO"
  echo "GH_REPO_O: $GH_REPO_O" …
Run Code Online (Sandbox Code Playgroud)

github github-actions

28
推荐指数
3
解决办法
8万
查看次数

Github 操作:在 runners/path 中找不到依赖项锁定文件

我有一个用于服务器和前端的 Github 存储库。目录结构如下:

root
  |- frontend
  |- server (Express App)
Run Code Online (Sandbox Code Playgroud)

GitHub 操作:

root
  |- frontend
  |- server (Express App)
Run Code Online (Sandbox Code Playgroud)

我只有一项工作来构建 Express 服务器(还不是前端),所以我working-directory./server. 但是,我仍然收到错误:

Dependencies lock file is not found in /home/{username}/runners.../repository_name. Supported file patterns: package-lock.json,yarn.lock
Run Code Online (Sandbox Code Playgroud)

所以显然它并没有试图跑进去.../reposirtoy_name/server

在此输入图像描述

我只是想在单个 Github 操作中构建服务器和前端。

github github-actions

28
推荐指数
3
解决办法
3万
查看次数

github-actions[bot] 的权限被拒绝。请求的 URL 返回错误:403

我想使用 Github Actions 将文件推送到当前存储库。

我已经写了一个使用官方actions/checkout@v3操作的基本配置。我的配置与自述文件示例中几乎相同:

name: Example
on: workflow_dispatch
jobs:
  example:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - shell: bash
        run: |
          date > 1.txt
          git config user.name github-actions
          git config user.email github-actions@github.com
          git add 1.txt
          git commit -m updated
          git push
Run Code Online (Sandbox Code Playgroud)

此配置适用于除 Github Pages 存储库之外的任何存储库。错误是:

remote: Permission to sirekanian/sirekanian.github.io.git denied to github-actions[bot].
fatal: unable to access 'https://github.com/sirekanian/sirekanian.github.io/': The requested URL returned error: 403
Error: Process completed with exit code 128.
Run Code Online (Sandbox Code Playgroud)

为什么 GitHub Pages 存储库与普通存储库不同?GitHub Pages …

git-push github-pages github-actions

28
推荐指数
2
解决办法
1万
查看次数

Github Actions 中的手动工作流触发器

我正在为项目存储库设置 Github Actions。

工作流程包括以下步骤:

  • 构建 docker 镜像
  • 将镜像推送到容器注册表
  • 推出 Kubernetes 部署。

但是,我有两种不同的 Kubernetes 部署:一种用于开发,一种用于生产。因此,我还有两个 Github Action 工作流。

每次推送提交时都会触发用于开发的 Github Action 工作流:

on:
  push:
    branches:
    - master
Run Code Online (Sandbox Code Playgroud)

但我不希望在我的生产工作流程中出现这种情况。我需要一个手动触发器,比如发送到生产按钮。我在文档中没有看到任何与此接近的内容。


有没有办法在 Github Actions 中手动触发工作流?

我如何在 Github Actions、Docker 或 Kubernetes 上拆分我的开发和生产工作流以实现我想要的?

continuous-integration docker kubernetes github-actions

27
推荐指数
6
解决办法
1万
查看次数

如何在另一个工作流程中下载工件/发布资产

Github 操作是否可以上传构建工件以在发布分支上提交,然后让另一个工作流程下载并使用该工件?

name: Deploy release to UAT & archive artifact
on:
  release:
    types: [published]
jobs:
  package:
    name: package and archive
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v1
        with:
          node-version: '12'
      - name: serverless package
        uses: serverless/github-action@master
        with:
          args: package --stage=prod
      - name: Upload Release Asset
        uses: actions/upload-release-asset@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          upload_url: ${{ github.event.release.upload_url }}
          asset_path: .serverless
          asset_name: release-asset-${{ github.event.release.name }}.zip
          asset_content_type: application/zip
      - name: Upload Artifact
        uses: actions/upload-artifact@v2
        with:
          name: release-artifact-${{ github.event.release.name }}
          path: .serverless …
Run Code Online (Sandbox Code Playgroud)

github-actions

27
推荐指数
2
解决办法
3万
查看次数

在 github actions 中什么时候应该使用单花括号和双花括号来引用变量?

我开始学习 github actions(从 jenkins piplines 转换)。我对 yaml 不是很熟悉。

我无法弄清楚何时或为何应使用双花括号与单花括号引用变量。我感觉这里有一个重要的区别......你能告诉我吗?

name: sample
on:
  workflow_dispatch
env:
  MY_VAR: "something"

jobs:
  do_things:
    runs-on: ubuntu-latest
    steps:
      - name: "Step 1"
        run: echo "${MY_VAR}"
      - name: "Step 2"
        run: echo "${{env.MY_VAR}}"

Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

github-actions

27
推荐指数
1
解决办法
6556
查看次数

GitHub:拒绝:permission_denied:write_package

我目前正在尝试运行 docker GitHub Action,它会构建 docker 映像并将其推送到 GitHub Packages,但我收到了一个我从未见过的错误。由于某种原因,它无法推送 docker 映像,因为write_permission被拒绝,但我有一个令牌允许我写入,所以我不明白问题是什么。

这是我的操作文件:

name: Docker Image CI

on:
  workflow_dispatch:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Set up JDK 16
      uses: actions/setup-java@v1
      with:
        java-version: 16
    - name: Build with Maven
      run: mvn -f ACS/pom.xml clean install dependency:copy-dependencies
    - name: Login to GitHub Package Registry
      run: echo ${{ secrets.GITHUB_TOKEN }} | docker login docker.pkg.github.com -u ${{ github.repository }} …
Run Code Online (Sandbox Code Playgroud)

github docker github-actions

27
推荐指数
3
解决办法
2万
查看次数