标签: github-actions

maven-comiler-plugin:编译致命错误:错误:不支持发布版本 17

我尝试使用 maven 创建一个非常简单的 JavaFX 项目,并使用 GitHub actions 从中构建一个 Linux 包。这是工作流程文件:

# This workflow will build a Java project with Maven
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven

name: Linux Client

on:
  workflow_dispatch:
  push:
    branches: [ master ]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - name: Set up JDK 17
        uses: actions/setup-java@v2
        with:
          java-version: '17'
          distribution: 'temurin'
      - name: Debug
        run: mvn -version
      - name: Build with Maven
        run: sudo mvn -e -B install --file pom.xml
      - name: Upload DEB …
Run Code Online (Sandbox Code Playgroud)

java maven maven-compiler-plugin github-actions

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

即使某个步骤失败,也将 GitHub Actions 工作流程标记为成功

我有以下工作流程大纲

jobs:
  
  job1:
 
    steps:
  
    - name: step 1 of job 1
      run: exit 1

  job2:
  if: failure()
  
    steps:

    - name: step 1 of job 2
      run: echo "Hello World"
Run Code Online (Sandbox Code Playgroud)

我知道上面的运行。但是,它将我相应的状态检查标记为失败(红色)。有没有办法让动作执行成功?

github github-actions

5
推荐指数
1
解决办法
3085
查看次数

如何使用部署到 Azure 的应用程序修复“错误:找不到模块 '/home/site/wwwroot/index.js”?

我第一次尝试将node.js应用程序作为Azure应用程序服务部署到Azure,但在尝试运行该应用程序时遇到了这个顽固的错误,我还没有弄清楚如何排除故障。也许这里有人对我犯错误的地方有一些提示。

提供一些背景知识:

  • 我正在开发一个具有目录子集的项目,每个目录都是一个应用程序(服务器、客户端......)
  • 主目录是git目录
  • 我正在开发的nodejs应用程序是用typescript构建的,并利用Apollo Server(它本身利用了express)
  • 我正在通过 GitHub 部署到 Azure

考虑到这一点,我的项目文件夹结构如下所示:

| main_folder
  | .github
    | workflows
        workflow.yml
  | server
    | src
    | dist
    .env
    index.ts
    package-lock.json
    package.json
    tsconfig.json    
  | other_apps
  .gitignore
  README.md

Run Code Online (Sandbox Code Playgroud)

我有与index.ts运行应用程序相关的代码。其余相关文件如下所示: tsconfig.json

| main_folder
  | .github
    | workflows
        workflow.yml
  | server
    | src
    | dist
    .env
    index.ts
    package-lock.json
    package.json
    tsconfig.json    
  | other_apps
  .gitignore
  README.md

Run Code Online (Sandbox Code Playgroud)

package.json

{
    "compilerOptions": {
        "target": "ES2022",
        "module": "CommonJS",
        "lib": [
            "ES2022", "DOM"
        ],
        "strict": true,
        "rootDir": ".",
        "outDir": "./dist",
        "sourceMap": true, …
Run Code Online (Sandbox Code Playgroud)

azure node.js github-actions

5
推荐指数
1
解决办法
3474
查看次数

有没有办法从 GitHub 上的 CodeQL 扫描中排除文件

我尝试过使用从https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerability-and-errors/configuring-中读到的 paths-ignore代码扫描,但它没有帮助,因为他们无法确定 git 操作运行时将分析哪些文件。我还发现了这篇文章https://josh-ops.com/posts/github-codeql-ignore-files/,其中讨论了使用 filter-sarif 操作,但它没有发布到市场。任何建议,将不胜感激

security yaml github github-actions codeql

5
推荐指数
0
解决办法
2269
查看次数

如何防止同一分支并行运行 GitHub 操作(包括拉取请求)?

我有一个 GitHub 操作。它可以从分支、拉取请求或手动触发。我想实现以下目标:决不能有两个来自同一分支的操作​​并行运行,包括来自该分支的拉取请求。

我最好的想法是这样做(伪代码):

concurrency: {{ if github.head_ref is nonempty then github.head_ref else github.ref }}
Run Code Online (Sandbox Code Playgroud)

当作业由 PR 触发时,github.head_ref包含源分支的名称。当作业从分支触发时,github.ref包含分支名称。所以上面的表达式应该可以解决我的问题,除了它不是有效的 GitHub 操作代码,而且我无法弄清楚是否可以制作这样的表达式。

我可以编写一个表达式或表达式组合来实现上述目的吗?或者我可以通过其他方式解决我的根本问题吗?

github-actions

5
推荐指数
1
解决办法
3780
查看次数

GHA 中的 if 并发条件

github action 并发中是否可以添加 IF 条件?

我想要执行以下操作,但仅当分支名称不是时master

concurrency: 
  group: ${{ github.ref }}
  cancel-in-progress: true
Run Code Online (Sandbox Code Playgroud)

我的yaml文件上的触发器如下:

name: Build
on:
  push:
Run Code Online (Sandbox Code Playgroud)

这会在任何分支(主分支或功能分支)上推送时触发

github-actions

5
推荐指数
1
解决办法
996
查看次数

手动运行 git 操作时如何指定特定提交?

如何创建只能手动启动的工作流程,同时需要指定与其一起工作的特定提交?

workflow github-actions

5
推荐指数
2
解决办法
3232
查看次数

如何在后台 GH Actions 中运行 Spring Boot 服务器?

在我的工作流程中,我定义了一个步骤:

    - name: Setup Spring Boot App
      run: |
         cd backend/MeetApp
         POSTGRES_USERNAME=postgres POSTGRES_PASSWORD=postgres nohup ./gradlew bootRun
Run Code Online (Sandbox Code Playgroud)

无论我尝试什么,我都无法弄清楚如何启动我的 Spring Boot 过程,可能需要等待特定时间,然后转到下一步。

continuous-integration github spring-boot github-actions

5
推荐指数
1
解决办法
4661
查看次数

github 操作工作流程中本地服务器的连接被拒绝

我正在尝试为我的项目 CI/CD Pipeline 运行本地服务器。当我启动服务器时,我收到“连接被拒绝”的消息。

我的项目是一个 fastAPI 应用程序,我正在尝试在 PR 上运行集成测试,以在合并代码之前验证应用程序。我尝试直接启动我的应用程序(gunicorn),构建一个 docker 映像并启动它......我尝试了很多东西。然后,我尝试运行一个简单的服务器而不是我的应用程序,并且......得到了相同的错误!

这是我的简单服务器工作流程:


on:
  push:
    branches:
      - "develop"

jobs:
  mylocalserver:
    name: Run server
    runs-on: ubuntu-latest
    steps:
      - name: Setup python
        uses: actions/setup-python@v3
        with:
          python-version: 3.9
      - name: Run server in background
        run: |
          python -V
          python -m http.server 3000 &> /dev/null &
          sudo lsof -i -P -n | grep LISTEN
          curl http://localhost:3000
      - name: Run server with console
        run: |
          python -m http.server 3000
Run Code Online (Sandbox Code Playgroud)

输出:

工作流程输出

如果我使用控制台运行我的应用程序(gunicorn 中没有守护进程模式),服务器将启动并成功登录到工作流程中的控制台:

Gunicorn 在工作流程中运行

但这样我就不能再运行任何东西了(而且我必须取消工作流程)。有什么想法吗?谢谢你!

continuous-integration pipeline github-actions

5
推荐指数
1
解决办法
2536
查看次数

lerna 将推送发布到 npm,但不更新依赖项

我的 Monorepo 目前由 Lerna.js 管理。除了我用来自动化 npm 发布的 GitHub 操作工作流程之外,一切都运行良好。

情况如下:

我更新packages/types-lib,然后更新packages/server新类型。完成后,我将所有内容推送到 GitHub,操作是碰撞packages/types-lib版本。但是,它不会更新作为依赖项packages/types-lib列出的内容。packages/server在本地,它可以工作,但在工作流程中不起作用......

这是我的工作流程代码:

name: Publish To NPM
on:
  push:
    branches:
      - main

jobs:
  publish:
    runs-on: ubuntu-latest

steps:
  - name: "Checkout"
    uses: actions/checkout@v2
    with:
      fetch-depth: 0

  - name: "Use NodeJS 16.14.2"
    uses: actions/setup-node@v2
    with:
      node-version: '16.14.2'

  - name: "Setup npm"
    run: |
      npm set @pastelabs:registry=https://registry.npmjs.org/
      npm set "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}"

  - name: Install dependencies
    run: |
      yarn install --frozen-lockfile
      yarn lerna …
Run Code Online (Sandbox Code Playgroud)

npm package.json lerna monorepo github-actions

5
推荐指数
0
解决办法
592
查看次数