我正在创建GitHub操作工作流,以构建npm包并将其发布到GitHub包。repo是一个包含多个包的monorepo,因此我使用语义发布monorepo工具。然而,发布的步骤失败了,我不知道为什么。
我的GitHub操作工作流文件如下(略微精简)
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
env:
GH_TOKEN: ${{ secrets.MY_PAT }}
steps:
- name: Checkout repo
uses: actions/checkout@v2
run: |
yarn install
yarn build
- name: Setup node for publishing to Github packages
uses: actions/setup-node@v2
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
node-version: "12.x"
registry-url: "https://npm.pkg.github.com"
- name: Yarn publish packages
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
yarn publish-packages
warn publish packages
运行一个脚本,执行lerna命令进行语义发布
lerna exec-------------------------------------------------------------------------------------------------------------
我已确定回购协议的一揽子计划。json以及包。每个包的json都有正确的存储库url,
https://github.com/owner/repo.git
。“我的个人访问令牌”具有回购、写入和删除包的权限。
无论我更改了什么配置,该步骤都会失败,出现以下消息:
命令"git press--dry-run--no-验证https://[secure]@github.com/xxx/xxx.gitHEAD: Development"失败,错误消息为远程:未找到存储库。26致命:未找到存储库'https://github.com/xxx/xxx.git/'。
第二条信息是
在远程Git存储库中的URL
https://[secure]@github.com/xxx/xxx.git,语义释放不能将版本标签推送到分支
Development
我尝试过的其他事情:
在阅读说明“GitHub软件包仅支持范围内的npm软件包”的GH文档后,将scope=“@xxx”添加到安装节点步骤中
- 根据语义发布文档,我尝试将GH_令牌、GITHUB_令牌和NPM_令牌设置为机密中我的PAT或GITHUB_令牌的每个组合。我相信医生说只有PAT得到支持。此外,NPM_令牌不应该是必需的,因为在设置节点操作中使用注册表url会创建一个。默认情况下使用
NODE\u AUTH\u令牌的npmrc文件
这里有一个几乎类似的问题,但添加了。git
到他的存储库url似乎已经为他修复了它
- Github文档说我应该能够使用PAT或Github_令牌作为身份验证令牌。npmrc文件,所以这不应该是问题所在
我已经浏览了语义发布、语义发布monorepo、GitHub操作和GitHub包的文档。如果有任何其他信息我需要包括,请让我知道。
经过更多的尝试和错误,我发现了原因。如果我的理解是正确的,Github工作流程将自动使用可用的GITHUB_TOKEN秘密在使用操作/签出
签出回购的步骤中与Github进行身份验证。然后,它将此步骤中的凭据持久化,并在发布包的步骤中重用它们,即使我将个人访问令牌作为环境变量注入到该步骤。
最后,修复方法是在第一步中使用持久凭证
选项,如下所示
steps:
- name: Checkout repo
uses: actions/checkout@v2
with:
persist-credentials: false
然后在最后一步中使用个人访问令牌通过GitHub进行身份验证,就像我提到的,我认为这应该是我问题中正确的方法,因为语义发布文档声明只支持PAT身份验证。
问题内容: 我正在使用以下功能下载小于20MB的文件。它将全部内容读取到内存中,因为另一个功能必须先对字节执行工作,然后才能将其写入磁盘。 这可以正常工作,但是所有内存都在系统上消耗了。 是否可以在其他功能处理完之后释放使用的内存,以使内存使用量不会大于当前正在处理的字节数? 问题答案: 您可能会触发gc使用释放未使用的对象,并且可能敦促Go运行时使用释放内存到OS ,但是所有这些都只是在扑救。编
我有一个Springboot应用程序,Mule作为微服务在docker容器中运行。即使空闲时也需要大约700MB。注意到JVM分配了380 MB的堆,这是使用参数提供的最大堆。虽然分配了最大堆,但微服务在空闲时只使用大约50 MB。问题是如何从JVM释放未使用的内存。 似乎减少MaxHeapFreeRatio我们可以要求JVM在有更多可用内存时收缩。然而没有太大区别,JVM也没有释放内存。但是当我
我试图与WebClient一起工作,但它给我带来了错误,所以我检查了几个论坛(包括这一个),他们告诉我应该放在哪里 在文件的顶部: 在我想使用WebClient的地方之后: 我得到了这个错误:
我正试图通过遵循本教程,使用GitHub操作构建docker映像并将其推送到Amazon ECR 我正在尝试为此repo设置GitHub操作,因此我在<代码>中创建了一个新的工作流。github/workflows目录。 DockerFile已成功创建并生成。 现在,在创建
假设我有用不同语言编写的工人(Java
本文向大家介绍工作中常用到的ES6语法,包括了工作中常用到的ES6语法的使用技巧和注意事项,需要的朋友参考一下 什么是ES6? ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了。Mozilla公司将在这个标准的基础上,推出JavaScript 2.0。 ECMAScript和JavaScript到底是什么关系?很多初学者会感到