我已通过网站将 CodeQL 集成到我的 github 项目中。它可以工作、分析并生成 SARIF 文件。然后它说结果已成功上传:
Uploading results
Processing sarif files: ["/home/runner/work/my_project/results/cpp-builtin.sarif"]
Uploading results
Successfully uploaded results
Run Code Online (Sandbox Code Playgroud)
在哪里?我在哪里可以找到这些结果并阅读它们?CodeQL 如何指示发现问题?我的 .yaml 包含:
- run: |
sudo -n apt-get install -y autopoint gettext
autoreconf --install
./configure
make
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
Run Code Online (Sandbox Code Playgroud) 我一直在尝试使用 Github actions CI/CD 工作流程自动部署 firebase 云功能。这些函数是使用 NodeJs、Express 和 Typescript 开发的。所有环境变量都保存在 .env 文件中,该文件未在 github 上跟踪(出于显而易见的原因)
main.yaml 文件(在 .github/workflows/ 中)
name: CI/CD
on:
push:
branches: [ deploy ]
pull_request:
branches: [ deploy ]
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: create env file
run: |
cd functions
touch .env
echo "${{ secrets.ENV_VARS }}" >> .env
- name: Install npm packages
run: |
cd functions
npm install
- name: Deploy to Firebase
uses: w9jds/firebase-action@master
with:
args: deploy
env: …Run Code Online (Sandbox Code Playgroud) environment-variables google-cloud-functions env-file github-actions cicd
下面是我的 dockerfile。有没有办法在 GitHub 操作中缓存 npm?
FROM node
WORKDIR /app
ADD package*.json ./
RUN npm ci
ENV PATH /app/node_modules/.bin:$PATH
Run Code Online (Sandbox Code Playgroud)
我的 GitHub 操作:
name: NPM buid
on:
push:
branches:
- main
jobs:
build-npm-image:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Build and Tag Node image
id: build-ui-image
run: |
export DOCKER_BUILDKIT=1
docker build -t ui -f ./ui/Dockerfile .
Run Code Online (Sandbox Code Playgroud)
PS 我不想缓存 docker 镜像。上面的 docker 文件仅作为示例使用。反对的是缓存 npm 依赖项
我有一个 GitHub Actions 工作流程文件,其中环境变量并不总是被扩展。
根据注释,环境变量的使用可以正常工作,直到它在name: deploy不扩展的部分中最后一次使用为止,并且实际上变成了字符串,rg-blue-$***GITHUB_REF#refs/heads/***而不是前面部分中正确扩展的字符串:rg-blue-my-branch-name。
这会导致 Azure ARM 错误:Error: Resource Group rg-blue-$***GITHUB_REF#refs/heads/*** could not be found.
为什么除了最后一步之外,变量扩展在所有地方都能正确工作?我如何解决它?
on: [push]
name: Azure ARM
jobs:
build-and-deploy:
runs-on: ubuntu-latest
env:
resourceGroupName: rg-blue-${GITHUB_REF#refs/heads/}
resourceGroupLocation: 'uksouth'
- name: Use the custom ENV variable
run: |
echo "${{ env.resourceGroupName}}"
echo ${{ env.resourceGroupName}}
// these two work perfectly fine and prints "rg-blue-my-branch-name" etc
- uses: actions/checkout@master
- uses: azure/login@v1
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}
- uses: azure/CLI@v1
with:
inlineScript: …Run Code Online (Sandbox Code Playgroud) 我正在 github 操作中从 AWS S3 下载文件。在下一步(相同的工作)中,我尝试编辑该文件。有时该文件仍然存在,有时则不存在。
每个步骤都会运行一个 bash 脚本,我会在第一步结束时检查该文件是否存在。该文件正在下载到该$HOME目录,因此该文件的路径为/home/runner/my-file.json
我应该将该文件下载到哪里,以保证下一步该文件仍然存在?
我使用workflow_dispatch 创建简单的github 操作。
name: Run Workflow Dispatch
on:
workflow_dispatch:
inputs:
version:
description: 'version'
required: true
default: 'latest'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- run: |
echo "version: ${{ github.event.inputs.version }}"
Run Code Online (Sandbox Code Playgroud)
我通过curl 创建请求。
curl -X POST \
-H "Accept: application/vnd.github.everest-preview+json" \
-H "Authorization: token xxxxxxxxx" \
https://api.github.com/repos/patsevanton/workflow-dispatch-client-payload/actions/workflows/workflow_dispatch.yml/dispatches \
--data '{"event_type": "my-dispatch", "client_payload": {"ref": "main"}}'
Run Code Online (Sandbox Code Playgroud)
但我收到错误:
{
"message": "Invalid request.\n\n\"client_payload\", \"event_type\" are not permitted keys.\n\"ref\" wasn't supplied.",
"documentation_url": "https://docs.github.com/rest/reference/actions#create-a-workflow-dispatch-event"
}
Run Code Online (Sandbox Code Playgroud)
如何在github操作中创建正确的workflow_dispatch?如何在github操作中创建对workflow_dispatch的正确请求?
我有一个 GitHub 工作流程,当根据模式**/abc**修改/创建文件时会触发该工作流程。据我了解,这意味着每当:
abc或开头的文件夹的某个子文件夹中的文件abc修改后,应触发 GH 操作。但是,当我创建文件时,甚至会触发工作流程repository/aaa/test_abc
但是,据我了解,该文件repository/aaa/test_abc与模式不对应**/abc**
我是吗
我有以下条件:
name: Build Image
on:
push:
pull_request:
workflow_dispatch:
jobs:
build-image: (This should be only if the tag contains "azure")
name: Build Image Job
runs-on: [ self-hosted ]
steps:
- uses: actions/checkout@v2
- name: Run Build Step
run: |
ANSIBLE_VERSION=$(cat VERSION)
docker images
jobs:
build-image: (This will be for everything else)
name: Build Image Job
runs-on: [ self-hosted ]
steps:
- uses: actions/checkout@v2
- name: Run Build Step
run: |
ANSIBLE_VERSION=$(cat VERSION)
docker images
Run Code Online (Sandbox Code Playgroud)
如何才能做到这一点?如何引用作业中的标签?如何使用变量并从中制定 if 规则?
我有一个 C# 解决方案,包含单个项目和多个使用 .Net 6 的库。我使用传统提交(commitlint 和 husky),并希望使用语义发布将最新版本部署为基于提交的 Github 上的 ZIP 文件消息。
我为 C# 项目尝试过的设置:
。
npm install semantic-release -D
npm install @semantic-release/changelog -D
npm install @semantic-release/npm -D
npm install @semantic-release/github -D
npm install @semantic-release/git -D
Run Code Online (Sandbox Code Playgroud)
。
npm install semantic-release -D
npm install @semantic-release/changelog -D
npm install @semantic-release/npm -D
npm install @semantic-release/github -D
npm install @semantic-release/git -D
Run Code Online (Sandbox Code Playgroud)
version为0.0.0-development,将密钥设置private为true并添加存储库 url。
{
"plugins": …Run Code Online (Sandbox Code Playgroud) 每当进行提交时,我都会尝试从resume.tex我的简历存储库文件中构建一份简历 pdf 。
我收到以下错误。
Error: File '/home/runner/work/resume/resume/resume.tex' cannot be found from the directory '/github/workspace'.
Run Code Online (Sandbox Code Playgroud)
我应该如何访问该resume.tex文件?如果我只是说root_file: resume.tex,错误是:
Error: File 'resume.tex' cannot be found from the directory '/github/workspace'.
Run Code Online (Sandbox Code Playgroud)
该.github/workflows/build_resume.yml文件看起来像这样。该resume.tex文件位于我的存储库的根目录中。
# This is a basic workflow to help you get started with Actions
name: Build PDF on commit.
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for …Run Code Online (Sandbox Code Playgroud)