标签: github-actions

如何使用 Github 操作签出不同的公共存储库,然后从该存储库添加一些文件,然后构建等

我正在尝试弄清楚如何使用 Github Actions 签出远程公共存储库,然后从当前存储库添加一些敏感文件,最后构建等。

我相信我可以使用以下命令查看远程仓库

steps:
  - name: Checkout
    uses: actions/checkout@v2
    with:
      repository: foo-user/bar-repo
Run Code Online (Sandbox Code Playgroud)

但是,如何将当前存储库中的文件中的一些文件复制到此已签出的存储库中?

github-actions

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

GitHub Actions 中的条件“需求”?

我的 GitHub 工作流程如下所示:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - run: echo "build"

  test:
    runs-on: ubuntu-latest
    needs: build

    steps:
      - run: echo "build"

  deploy:
    runs-on: ubuntu-latest
    needs: [build, test]

    steps:
      - run: echo "deploy"
Run Code Online (Sandbox Code Playgroud)

现在,我想使该deploy步骤仅tests在分支为 时才需要该步骤main

那可能吗?

本质上我想做这样的事情:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - run: echo "build"

  test:
    runs-on: ubuntu-latest
    needs: build

    steps:
      - run: echo "build"

  deploy:
    runs-on: ubuntu-latest
    needs: contains(branch, "master") ? [build, test] : [build] #notice this line

    steps:
      - run: echo …
Run Code Online (Sandbox Code Playgroud)

github-actions

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

如何在工作流程中使用 Github 操作的输出?

让我们以 Github 文档中的复合操作为例:

name: 'Hello World'
description: 'Greet someone'
inputs:
  who-to-greet:  # id of input
    description: 'Who to greet'
    required: true
    default: 'World'
outputs:
  random-number:
    description: "Random number"
    value: ${{ steps.random-number-generator.outputs.random-id }}
runs:
  using: "composite"
  steps:
    - run: echo Hello ${{ inputs.who-to-greet }}.
      shell: bash
    - id: random-number-generator
      run: echo "::set-output name=random-id::$(echo $RANDOM)"
      shell: bash
    - run: ${{ github.action_path }}/goodbye.sh
      shell: bash
Run Code Online (Sandbox Code Playgroud)

我们如何random-number在调用此操作的外部工作流程中使用该特定输出?我尝试了以下代码片段,但目前工作流程似乎无法从操作中读取输出变量,因为它只是空的 - '输出 - '


jobs:
  test-job:
    runs-on: self-hosted
    steps:
      - name: Call Hello …
Run Code Online (Sandbox Code Playgroud)

github-actions building-github-actions

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

在 Github 操作中获取提交 SHA

在 Github 操作中,您可以使用 获取提交 SHA ${GITHUB_SHA},这是默认的环境变量。。然而,这个提交SHA似乎是一个合并提交!?它不等于 PR 的 Github UI 上显示的提交 SHA。关于如何获取 PR 中显示的 SHA(在 Github UI 上)有什么想法吗?

git github github-actions

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

Github 操作 - 如何使用 SSH 部署到远程服务器

我在 DO 上有一个临时服务器。

我想为它构建和部署我的节点应用程序。

name: Build & Deploy
on:
  push:
    tags:
      - 'v1.*.0'
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Create SSH key
        run: |
          mkdir -p ~/.ssh/
          echo "$DO_GITHUB_PRIVATE_KEY" > ../github_do.key
          sudo chmod 600 ../github_do.key
          ssh-keyscan -H ${{secrets.DEPLOY_SERVER}} > ~/.ssh/known_hosts
        shell: bash
        env:
          DO_GITHUB_PRIVATE_KEY: ${{secrets.DO_GITHUB_PRIVATE_KEY}}
      - uses: actions/setup-node@v1
        with:
          node-version: 12.x
      - name: Install Packages
        run: yarn install --frozen-lockfile
      - name: Build artifacts
        env:
          DEPLOY_SSH_KEY_PATH: ${{ github.workspace }}/../github_do.key
        run: |
          yarn shipit production fast-deploy
Run Code Online (Sandbox Code Playgroud)

我所做的是生成一个新的 SSH …

ssh github-actions

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

Github - 自动将问题分配给项目

我想将问题自动分配给 Github 中的项目。基本上自动为每个自动打开的问题自动生成以下屏幕截图。有任何想法吗?

在此输入图像描述

automation github github-actions github-issues

19
推荐指数
2
解决办法
9559
查看次数

通过 Github Actions CI/CD 访问服务器时 Git 权限被拒绝(公钥)

当我通过本地计算机连接到服务器时,我可以使用 ssh 成功连接到 Github。

我使用教程来设置 ssh 密钥。

但是,当使用 Github 操作时,我收到此错误:

err: git@github.com: Permission denied (publickey).
err: fatal: Could not read from remote repository.
err: 
err: Please make sure you have the correct access rights
err: and the repository exists.
Run Code Online (Sandbox Code Playgroud)

这是我的 Github 操作 YML:

name: CI App to DO

on:
  push:
    branches: [master]
  pull_request:
    branches: [master]

jobs:
  deploy-do:
    runs-on: ubuntu-latest
    steps:
      - name: SSH to server and Deploy App
        uses: appleboy/ssh-action@master
        with:
          host: ${{ secrets.SSH_HOST }}
          username: ${{ secrets.SSH_USERNAME …
Run Code Online (Sandbox Code Playgroud)

git ubuntu github github-actions

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

GitHub Actions:删除所有工件后,“您已使用 100% 包含的 GitHub 存储服务(GitHub Actions 和 Packages)”

你们中有人知道 GitHub 在其 GitHub 存储(用于操作和包)中实际存储了什么吗?

GitHub 不断告诉我:

您已使用 100% 包含的 GitHub 存储服务(GitHub 操作和包)

GitHub 存储使用情况

我删除了所有旧的工作流程运行我尝试了两种操作来删除所有工件:

还有一个GitHub Issue

workflow continuous-integration github github-actions

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

如何在github操作工作流程中设置系统路径变量

我想知道如何在 GitHub 操作工作流程中设置系统路径变量。

export "$PATH:$ANYTHING/SOMETHING:$AA/BB/bin"
Run Code Online (Sandbox Code Playgroud)

linux pipeline docker github-actions

19
推荐指数
2
解决办法
9979
查看次数

Github Actions 中的 If 或条件

我一直在尝试在 Github actions 中构建 CICD 管道,但我们无法在其中处理 if 和 or 条件。下面是我们的代码片段的示例,

    name: Build Non prod
    needs: [rules]    
    if: ${{ (needs.rules.outputs.branch_name != 'production') || (needs.rules.outputs.branch_name != 'staging') }}
    steps:
      - name: Checkout
        uses: actions/checkout@v2
Run Code Online (Sandbox Code Playgroud)

因此,此任务不应在分支中运行productionstaging但是当操作在staging分支中运行时,此作业也会与不适合staging环境的其他作业一起被触发。

有什么办法可以拥有ifor条件吗?

更新:

该条件将不起作用,更新后的条件将起作用。

if: ${{ (needs.rules.outputs.branch_name != 'production') && (needs.rules.outputs.branch_name != 'staging') }}
Run Code Online (Sandbox Code Playgroud)

github github-actions cicd

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