我已被指示“以编程方式处理此问题”,但我无法更改或添加凭据文件。
使用 Github Actions,我创建了一个需要 GCloud 身份验证的工作流。不幸的是,变量似乎run在执行命令之前被替换,导致多行 YAML 文件产生一堆错误。
这是 YAML 的一个片段:
# Setup gcloud CLI
- name: Use Google Cloud Platform
uses: GoogleCloudPlatform/github-actions/setup-gcloud@master
with:
version: '270.0.0'
service_account_email: ${{ secrets.SA_EMAIL }}
service_account_key: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
- run: cd ui/ && pwd && npm install && npm run test
env:
CI: true
- run: |
echo ${{ secrets.GCP_AUTH_STAGING }} | gcloud auth activate-service-account --key-file=-
gcloud container clusters get-credentials staging --region northamerica-northeast1 --project example-staging
cd ui/ && pwd && npm run …Run Code Online (Sandbox Code Playgroud) 我正在研究一个涉及很多敏感 api 密钥的 android 项目。这些键存储在特定的 gradle 属性文件中,该文件被 git 忽略。
secret.properties
apikey="938484738288274932228"
Run Code Online (Sandbox Code Playgroud)
问题是如何在不将文件推送到 git 的情况下启用 github 操作来访问此属性文件及其中的值。
已经尝试过 - 使用空白值制作一个后备属性文件(但这些值可能是未来测试所必需的)
name: .NET Core
Run Code Online (Sandbox Code Playgroud)
on: push: 分支: [ master ] pull_request: 分支: [ master ]
工作:构建:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 3.1.101
- name: Install dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore
- name: Test
run: dotnet test --no-restore --verbosity normal
Run Code Online (Sandbox Code Playgroud)
这是我的 yml 代码。它显示错误 MSBUILD:错误 MSB1003:指定项目或解决方案文件。当前工作目录不包含项目或解决方案文件。
in dotnet restorestep 因为项目文件夹中的sln。如何解决这个问题呢
我正在尝试为拉取请求何时打开或关闭设置一个 GitHub 操作,我想获取触发器的类型以将其添加到消息中。YAML 如下:
on:
pull_requeste
types: [opened, closed, reopened] #I’d like to get which one has been triggered
Run Code Online (Sandbox Code Playgroud)
例如 :
用户 X 已打开拉取请求
有人建议,${{env.GITHUB_EVENT_NAME}}但它是空的。${{github.event}}似乎是个好地方,但它返回一个带有 webhook 有效负载的对象,我不知道其中是否包含“类型”或如何获取它。
??? .github
? ??? workflows
? ??? cd.yml
? ??? ci.yml
??? scripts
? ??? createDevEBAppVersion.sh
? ??? createProdEBAppVersion.sh
??? src
Run Code Online (Sandbox Code Playgroud)
Github Actions 抛出以下错误:
/home/runner/work/_temp/9c99fa0d-20da-49ed-a0af-322f274c13ac.sh:第1行:[refs/heads/develop:没有这样的文件或目录
/home/runner/work/_temp/9c99fa0d-20da-49ed-a0af-322f274c13ac.sh: line 5: [[refs/heads/develop: No such file or directory
??? .github
? ??? workflows
? ??? cd.yml
? ??? ci.yml
??? scripts
? ??? createDevEBAppVersion.sh
? ??? createProdEBAppVersion.sh
??? src
Run Code Online (Sandbox Code Playgroud)
我试过没有working-directory,但没有奏效。
name: CD
env:
PACKAGE_NAME : "app_${GITHUB_SHA::8}.zip"
ARTIFACT_ROOT : "${GITHUB_REF#refs/*/}"
APPLICATION_NAME : "example-app-name"
AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_KEY }} …Run Code Online (Sandbox Code Playgroud) 我正在构建一个带有节点后端的全栈 React 项目,并希望实现一个 git hub 操作来自动化持续集成的拉取请求。目前,在我的根目录中,我将我的项目分为两个目录,一个是前端目录,一个是保存客户端应用程序,一个是后端目录容器,一个是服务器端。我的问题是我应该将 .github 目录和关联的 .workflow 目录放在项目中的什么位置?在根级别还是在客户端或服务器端目录中?
我目前正在 Django 上开发一个网站。在我的计算机上,我在带有 postgres 数据库的 Docker 上运行它。这是我拥有的 docker-compose 文件:
version: '3'
services:
db:
image: postgres
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
web:
build: .
volumes:
- .:/usr/src/app
ports:
- "8000:8000"
Run Code Online (Sandbox Code Playgroud)
这是 settings.py 中的相关部分
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': 'postgres',
'PASSWORD': 'postgres',
'HOST': 'db',
'PORT': 5432,
}
}
Run Code Online (Sandbox Code Playgroud)
当我使用此设置在 docker 容器中运行我的测试时,它可以找到并运行测试。但是,在 github 操作中,它不起作用。这是我的工作流文件:
name: Django CI
on: push
jobs:
build:
runs-on: ubuntu-latest
strategy:
max-parallel: 4
matrix:
python-version: [3.7, 3.8]
services:
db:
image: postgres
env:
POSTGRES_DB: …Run Code Online (Sandbox Code Playgroud) 我是 GitHub Actions 的新手,使用各种选项来制定 CI/CD 管道的好方法。
最初,我将所有 CI 步骤放在一项工作中,执行以下操作:
不过,其中一些步骤不需要按顺序完成;例如,我们可以在构建的同时运行 linting 和源代码漏洞扫描;节省时间(如果我们假设这些步骤将会通过)。
即基本上我希望我的管道做这样的事情:
job1 = {
- checkout code from repo #required per job, since each job runs on a different runner
- lint
}
job2 = {
- checkout code from repo
- scan source for vulnerabilities
}
job3 = {
- checkout code from repo
- lint
- scan source for vulnerabilities
- build
- test …Run Code Online (Sandbox Code Playgroud) 当我构建时 (npm run build "scripts": { "build": "react-scripts build --passWithNoTests" }
) 项目,它成功构建。但是当我推送更改时,github 上的构建过程失败
> log@0.1.0 build /home/runner/work/project/project
> react-scripts build --passWithNoTests
Creating an optimized production build...
Treating warnings as errors because process.env.CI = true.
Most CI servers set it automatically.
Failed to compile.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! log@0.1.0 build: `react-scripts build --passWithNoTests`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the log@0.1.0 build script.
npm ERR! This is probably not …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的工作流脚本上安装我的依赖项。但是,有些是私人豆荚,当我尝试这样做时,它给了我这个错误bundle exec pod install:
Cloning spec repo `cocoapods` from `https://github.com/CocoaPods/Specs`
Cloning spec repo `keterauk` from `https://github.com/KeteraUK/Strive-Pod-Specs`
[!] Unable to add a source with url `https://github.com/KeteraUK/Strive-Pod-Specs` named `keterauk`.
You can try adding it manually in `/Users/runner/.cocoapods/repos` or via `pod repo add`.
##[error]Process completed with exit code 1.
Run Code Online (Sandbox Code Playgroud)
pod repo add...导致此错误:fatal: could not read Username for 'https://github.com': Device not configured即使我添加了我的个人访问令牌(秘密)。
这是我的完整脚本:
Cloning spec repo `cocoapods` from `https://github.com/CocoaPods/Specs`
Cloning spec repo `keterauk` from `https://github.com/KeteraUK/Strive-Pod-Specs`
[!] Unable to add …Run Code Online (Sandbox Code Playgroud)