标签: github-actions

在另一个目录中为“uses”运行 github 操作

我的 Maven 存储库位于./java目录中。我想在./java目录中运行 Maven 测试,但出现以下错误:

The goal you specified requires a project to execute but there is no POM in this directory (/github/workspace). Please verify you invoked Maven from the correct directory. -> [Help 1]
Run Code Online (Sandbox Code Playgroud)

这是我的工作流程:

# This is a basic workflow to help you get started with Actions

name: CI
on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

  workflow_dispatch:


jobs:
  build:
    defaults:
      run:
        working-directory: java
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        
      - …
Run Code Online (Sandbox Code Playgroud)

github maven github-actions

9
推荐指数
1
解决办法
8475
查看次数

通过工作流程运行时拉取请求未检测到操作

我的存储库中有 2 个工作流程:

\n
name: First\n\non:\n  pull_request:\n    branches: [ master ]\n\njobs:\n  test:\n    name: test\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@v2\n   \n    - name: Set up Go\n      uses: actions/setup-go@v2\n      with:\n        go-version: 1.16\n\n    - name: Test\n      run: go test -v ./...\n
Run Code Online (Sandbox Code Playgroud)\n

\n
name: Second\n\non:\n  workflow_run:\n    workflows: ["First"]\n    types:\n      - completed\n\njobs:\n  golangci:\n    if: ${{ github.event.workflow_run.conclusion == 'success' }}\n\n    name: lint\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v2\n      - name: golangci-lint\n        uses: golangci/golangci-lint-action@v2\n        with:\n          version: latest\n\n
Run Code Online (Sandbox Code Playgroud)\n

仅当第一个工作流程成功完成时才会启动第二个工作流程。这部分有效。

\n

我已经设置了分支规则,以便“master”上的任何拉取请求都必须通过这两个工作流程。当我制作/更新 PR 时,两个工作流程都会按预期运行。但是 PR …

continuous-integration pipeline github github-actions

9
推荐指数
1
解决办法
3622
查看次数

GitHub Action 正在被终止

我正在运行一个小 python 项目来收集数据。它由预定的 GitHub Action 脚本触发(每天午夜)。作为扩展项目的一部分,我已将pycaret库添加到项目中。因此,目前安装项目的需求大约需要 15 分钟,再加上运行 python 项目还需要 10 分钟。但有趣的是,现在动作/工作被杀死了:

/home/runner/work/_temp/bad86621-8542-4ea5-ae93-6f59b7ee2463.sh: line 1:  4382 Killed  
   python main.py 
Error: Process completed with exit code 137.
Run Code Online (Sandbox Code Playgroud)

现在我尝试查找进程被杀死的原因,但我在 GitHub Actions 中找不到任何内容,我正在 GitHub Actions 中的 ubuntu 最新计算机上运行该作业。我已将作业超时设置为 60 分钟,所以我认为这不是问题。

python github-actions pycaret

9
推荐指数
1
解决办法
4670
查看次数

GitHub 上的“操作”选项卡丢失

我正在尝试创建 GitHub 操作,但我的存储库中不存在“操作”选项卡:

缺少“操作”选项卡的图像

此 GitHub 文档页面建议导航到“设置”选项卡,然后从左侧边栏中选择“操作”并启用它们。

“设置”选项卡中缺少“操作”选项卡的图像

我的下一个想法是我的组织禁用了操作,因此我按照此 GitHub 文档页面上有关管理组织操作的步骤进行操作。但我再次转到“您的组织”->“设置”并在左侧边栏中查找“操作”,却找不到它。

组织设置中缺少“操作”选项卡的图像

然后我想也许我缺少管理员权限,所以我检查了我的组织下的“人员”选项卡,我是一个“所有者”,我的研究告诉我它与管理员相同。

所有者特权形象

所以我们到了。关于为什么我的组织中到处都缺少“操作”选项卡,您有什么想法吗?

github github-enterprise github-actions

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

Docker 与 GitHub 操作组合

我正在docker/build-push-action@v2GitHub 操作文件中使用操作来构建 docker 映像并将其推送到 GitHub 包注册表。构建和推动Dockerfile对我来说很有效。

我有docker-compose想要构建的文件并将其推送到 GitHub 注册表。

我怎样才能做到这一点?提前致谢。

docker docker-compose github-actions

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

在 GitHub 操作中获取批准状态

我有一个在添加标签时触发的操作。

pull_request: types: [labeled]

仅当拉取请求获得批准(有一个或多个批准)并且另一个条件正常工作时,该作业才应该有条件地运行:

jobs:
  build:
    if: ${{ (something == 'approved') && (contains(github.event.pull_request.labels.*.name, 'Deployed for QA')) }}
Run Code Online (Sandbox Code Playgroud)

我可以使用什么属性来代替上述条件中的“某物”?

github-actions

9
推荐指数
2
解决办法
4815
查看次数

我编写的 GitHub Action 无法访问调用该操作的存储库文件

GitHub上有一个示例存储库,其中包含我正在处理的目录结构。要运行 GitHub Action,您只需转到存储库的 Action 选项卡并手动运行 Action。

\n
\n

我有一个自定义的 GitHub Action,以及pythonDocker 容器中的基础映像,但希望该python版本成为 GitHub Action 的输入。为此,我创建了第二个中间 Docker 容器,以使用python版本输入参数运行。

\n

我遇到的问题是我无权访问调用 GitHub Action 的原始存储库文件。例如,假设存储库被调用python-sample-project并且具有文件夹结构:

\n
python-sample-project\n\xe2\x94\x82   main.py\n\xe2\x94\x82   file1.py    \n\xe2\x94\x82\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80folder1\n\xe2\x94\x82   \xe2\x94\x82   file2.py\n
Run Code Online (Sandbox Code Playgroud)\n

我看到了main.py,,file1.py并且folder1/file2.pyentrypoint.sh。但是,docker-action/entrypoint.sh我只看到 linux 文件夹结构和entrypoint.shdocker-action/Dockerfile.

\n

在我使用的 Alpine 示例中,操作entrypoint.sh脚本如下所示:

\n
python-sample-project\n\xe2\x94\x82   main.py\n\xe2\x94\x82   file1.py    \n\xe2\x94\x82\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80folder1\n\xe2\x94\x82   \xe2\x94\x82   file2.py\n
Run Code Online (Sandbox Code Playgroud)\n

docker-action/有一个Dockerfile脚本entrypoint.sh,应该使用 Alpine(或 Python)的动态版本为内部容器运行

\n …

python github docker github-actions

9
推荐指数
1
解决办法
4714
查看次数

远程:在 GitHub 管道中找不到存储库

我正在尝试在 GitHub 管道中签出一个私有存储库,以下是我的管道代码,

build:

runs-on: ubuntu-latest

steps:  
  - name: Checkout pickezy backend
    uses: actions/checkout@v2
    with:
     repository: Madurad/jenkinsfiles
     token: ${{ secrets.GITHUB_TOKEN }}
     ref: master
Run Code Online (Sandbox Code Playgroud)

但是当我运行这个时,我收到以下错误:“未找到存储库”,但它在我的 githiub 组织中。这是一个私人仓库。

在此输入图像描述

它看起来不像是一个身份验证错误。有人可以帮我解决这个问题吗?我错过了什么吗?

pipeline github github-actions

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

通过 Github 在 DigitalOcean 上自动部署 docker-compose

我是 docker 的新手。我有一个包含 4 项服务的网络应用程序。我设法为它创建一个 docker-compose 。

我现在想发布它。我的计划是

  1. 将包含 compose 文件和源代码的整个存储库上传到 github 中的私有存储库。
  2. 然后在数字海洋中创建一个水滴

我希望能够仅通过 github 轻松发布代码。它会自动上传到服务器并重新启动所需的服务。最好的方法是什么?

docker digital-ocean docker-compose github-actions

9
推荐指数
1
解决办法
4131
查看次数

GitHub Actions 完成后如何实际清理自托管运行器上的存储库?

在 GitHub 操作的工作流程结束时,“隐藏”“发布”作业似乎正在运行,而且我似乎不知道如何忽略覆盖它。例如,该actions/checkout@v2操作完成后似乎会运行以下内容:

Post job cleanup.
/usr/bin/git version
git version 2.25.1
/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :
/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
http.https://github.com/.extraheader
/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :
Run Code Online (Sandbox Code Playgroud)

但是,我只想从我的自托管运行器中删除整个存储库。只是一个简单的rm -rf目录。

我尝试将此作为一个步骤添加到我的.yml文件中,但这似乎破坏了actions/checkout@v2我的整个工作流程完成后运行的步骤。 …

github github-actions

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