pythonyaml包(版本 5.1.2)能够正确加载以下文件,即使该列表不是用前导编写的-
xx: [x1, x2]
yy: [y1, y2, y3]
Run Code Online (Sandbox Code Playgroud)
加载代码如下
import yaml
with open('some file') as f:
data = yaml.load(f, Loader=yaml.FullLoader)
Run Code Online (Sandbox Code Playgroud)
此格式用于 github actions 配置 yaml 文件。例如,
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [2.7, 3.5, 3.6, 3.7, 3.8]
os: [ubuntu-16.04, ubuntu-18.04]
node: [6, 8, 10]
Run Code Online (Sandbox Code Playgroud)
但是当我data使用 写入文件时yaml.dump(data, f),它采用-约定,即
xx:
- x1
- x2
yy:
- y1
- y2
- y3
Run Code Online (Sandbox Code Playgroud)
有没有办法强制它变成类似 github-actions 的格式?
有人告诉我default_flow_style,但它并没有给出我想要的。
yaml.dump({"A":[1,2,3],"B":[4,5,6]},default_flow_style=True) …Run Code Online (Sandbox Code Playgroud) 我想在 Github Action 中记录 git 历史记录。但 Action 的环境似乎有所不同:
echo $(git log -5 --oneline)
Run Code Online (Sandbox Code Playgroud)
外壳:/bin/bash -e {0}
7c0faa6 将 c245982a87ef5538d42ab905706faa08f4d67ce9 合并到 8a939ef1f71eaecac0ae52d625dad3e3c9fa4c16
这不是 git 日志,并且这些哈希值都不与我的存储库中的内容匹配。
这是为什么?
如何从 Github Action 的环境访问提交历史记录?
寻找一种方法来禁用 Github Actions 检查从注释文件运行。
/* 上下文 - 处理 eslint 工作流程操作来评论 PR,因为默认情况下运行注释所有文件的此检查很烦人 */
我正在尝试使用 github 操作将我的 npm 应用程序部署到 azure。运行 npm install 时出现错误,退出代码为 1.v 这是抛出的错误...
npm install, build, and test5s
##[error]Process completed with exit code 1.
> ejs@3.1.3 postinstall /home/runner/work/readbetter/readbetter/node_modules/ejs
> node --harmony ./postinstall.js
npm notice created a lockfile as package-lock.json. You should commit this file.
added 133 packages from 70 contributors and audited 133 packages in 3.913s
1 package is looking for funding
run `npm fund` for details
found 0 vulnerabilities
> readbetter@1.0.0 test /home/runner/work/readbetter/readbetter
> echo "Error: no test specified" && exit …Run Code Online (Sandbox Code Playgroud) 我使用Github作为我的源代码管理,并使用Github Actions作为我的 CI/CD 解决方案。我在某处有一个专用的 Windows Server,它接受我的存储库的已发布版本。
我有一个 Github Action,它可以进行构建、测试、发布和部署(使用 FTP)。我不相信“部署”的想法。例如,假设我的网站有一个巨大的代码库,然后每次我们进行提交(推送)时进行 FTPing 并不是一个富有成效的想法(我正在发布已发布的目录......而不是我的服务器的源代码)。有时,由于 IIS 锁定文件,FTPing 根本不起作用。使用 Github Actions(或任何其他提供商)将文件发布/部署到远程服务器的最可靠方法是什么。
下面是我的示例 Yaml 文件...
name: .NET Core
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 2.1
- name: Install dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore
- name: Test …Run Code Online (Sandbox Code Playgroud) 有没有办法获取 Github\xe2\x80\x99s 拉取请求编号(例如 PR #323 )并将其设置到 Github Actions\xe2\x80\x99s 环境变量(没有主题标签)中?
\nenv:\nGITHUB_PR_NUMBER: 323\nRun Code Online (Sandbox Code Playgroud)\n 我在尝试使用 Github Action 将 CI/CD 应用到我们的项目时遇到了问题。服务器有防火墙,仅允许对列出的 IP 进行访问。
我找到了一个使用 Github meta api https://api.github.com/meta的方法,但他们拒绝申请。
还有其他方法可以应用这个吗?
我们目前的ci.yml
name: remote ssh
on:
push:
branches: [ master ]
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: execute ssh command via using private key
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.REMOTE_HOST }}
username: ${{ secrets.REMOTE_USER }}
key: ${{ secrets.CICD_SSH_KEY }}
port: ${{ secrets.PORT }}
script:
pwd
Run Code Online (Sandbox Code Playgroud) 我有一个像这样的 JSON 存储在执行我的 Github 操作的文件夹/路径中 -
{
"version":"1",
"sampleArray":[
{
"id":"1"
}
],
"secondArray":[
{
"secondId":"2"
}
]
}
Run Code Online (Sandbox Code Playgroud)
使用 Github 操作如何编辑值,id例如:将id值设置为“5”,sampleArray以便我的 JSON 具有更新的值?
javascript continuous-integration json github github-actions
我正在使用 GitHub Actions,对于每个 GitHub Actions Maven 项目,我看到构建文件都使用了一个-B package开关。
run: mvn -B package --file pom.xml
Run Code Online (Sandbox Code Playgroud)
Maven 标准开关还是 GitHub Actions 功能?
我假设 -B 只是代表构建?批?但通过谷歌搜索,甚至查看 Apache Maven 文档,我没有看到该-B开关的记录。我所有的搜索只是带我回到其他使用该开关的 GitHub Actions YAML 页面,但没有对其进行描述。
任何人都可以澄清该开关的含义-B package,并可能提供一些相关文档的链接吗?
java continuous-integration maven-plugin maven github-actions
我在尝试从 GitHub Action 部署 Azure Function 应用程序时遇到错误。
错误是
##[Initialize]
##[ValidateParameter]
##[ValidateAzureResource]
Using SCM credential for authentication, GitHub Action will not perform resource validation.
Run Code Online (Sandbox Code Playgroud)
错误:执行异常(状态:ValidateAzureResource)(步骤:调用)
错误:在 ValidateAzureResource 请求 Azure 资源时,获取函数应用程序设置:无法获取应用程序设置 (SCM)
错误:无法获取 Kudu 应用程序设置。
错误请求(代码:400)
错误:无法获取 Kudu 应用程序设置。
错误请求(代码:400)在库杜。(D:\a_actions\Azure\functions-action\v1\node_modules\azure-actions-appservice-rest\Kudu\azure-app-kudu-service.js:62:23)
在 Generator.next () 处
已完成 (D :\a_actions\Azure\functions-action\v1\node_modules\azure-actions-appservice-rest\Kudu\azure-app-kudu-service.js:5:58)
在 processTicksAndRejections (内部/process/task_queues.js:93) :5)
错误:部署失败!
几个月来,它一直以完全相同的方式工作——我已经使用它进行了数百次部署,但在过去的几天里,它开始失败(跨多个存储库)。
它与这个问题非常相似,但是当我添加该问题的“变体”时,我被践踏并被告知要添加为一个新问题 - 所以我们就在这里。
我的情况的不同之处在于,我没有使用发布配置文件(至少没有明确地),而是使用服务主体凭证。如果这不是在幕后使用发布配置文件,我不会感到惊讶(这就是为什么我认为我的问题是上面问题的变体)。
非常重要的是,我的部署过程中没有任何手动步骤 - 因此我确实需要为此找到一个完全自动化的解决方法。我正要去搜寻 GitHub 操作的代码,但与此同时,有人知道如何立即解决这个问题吗?
github-actions ×10
github ×4
annotations ×1
asp.net-core ×1
formatting ×1
git ×1
java ×1
javascript ×1
json ×1
maven ×1
maven-plugin ×1
npm ×1
python ×1
yaml ×1