我的 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) 我的存储库中有 2 个工作流程:
\nname: 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 ./...\nRun Code Online (Sandbox Code Playgroud)\n和
\nname: 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\nRun Code Online (Sandbox Code Playgroud)\n仅当第一个工作流程成功完成时才会启动第二个工作流程。这部分有效。
\n我已经设置了分支规则,以便“master”上的任何拉取请求都必须通过这两个工作流程。当我制作/更新 PR 时,两个工作流程都会按预期运行。但是 PR …
我正在运行一个小 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 分钟,所以我认为这不是问题。
我正在尝试创建 GitHub 操作,但我的存储库中不存在“操作”选项卡:

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

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

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

所以我们到了。关于为什么我的组织中到处都缺少“操作”选项卡,您有什么想法吗?
我正在docker/build-push-action@v2GitHub 操作文件中使用操作来构建 docker 映像并将其推送到 GitHub 包注册表。构建和推动Dockerfile对我来说很有效。
我有docker-compose想要构建的文件并将其推送到 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上有一个示例存储库,其中包含我正在处理的目录结构。要运行 GitHub Action,您只需转到存储库的 Action 选项卡并手动运行 Action。
\n我有一个自定义的 GitHub Action,以及pythonDocker 容器中的基础映像,但希望该python版本成为 GitHub Action 的输入。为此,我创建了第二个中间 Docker 容器,以使用python版本输入参数运行。
我遇到的问题是我无权访问调用 GitHub Action 的原始存储库文件。例如,假设存储库被调用python-sample-project并且具有文件夹结构:
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\nRun Code Online (Sandbox Code Playgroud)\n我看到了main.py,,file1.py并且folder1/file2.py在entrypoint.sh。但是,docker-action/entrypoint.sh我只看到 linux 文件夹结构和entrypoint.sh在docker-action/Dockerfile.
在我使用的 Alpine 示例中,操作entrypoint.sh脚本如下所示:
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\nRun Code Online (Sandbox Code Playgroud)\n我docker-action/有一个Dockerfile脚本entrypoint.sh,应该使用 Alpine(或 Python)的动态版本为内部容器运行
我正在尝试在 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 组织中。这是一个私人仓库。
它看起来不像是一个身份验证错误。有人可以帮我解决这个问题吗?我错过了什么吗?
我是 docker 的新手。我有一个包含 4 项服务的网络应用程序。我设法为它创建一个 docker-compose 。
我现在想发布它。我的计划是
我希望能够仅通过 github 轻松发布代码。它会自动上传到服务器并重新启动所需的服务。最好的方法是什么?
在 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我的整个工作流程完成后运行的步骤。 …