热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

如何设置GitHub操作以发布LernaMonorepo

如何解决《如何设置GitHub操作以发布LernaMonorepo》经验,为你挑选了1个好方法。

我维护一个lerna / yarn monorepo。我正在将CI / CD从圈子迁移到新的GitHuba Actions发布beta。我创建了以下工作流程:

name: CD

on:
  push:
    branches:
      - master

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@master

      - name: Checkout master
        run: git checkout master

      - name: Install rsync
        run: sudo apt install rsync

      - name: Install yarn
        run: |
          curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
          echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
          sudo apt-get update
          sudo apt-get install yarn

      - name: Install Packages
        run: yarn install

      - name: Test
        run: yarn test

      - name: Upload coverage results to Code Climate
        run: sh ./scripts/upload-coverage.sh
        env:
          CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}

      - name: Authenticate with Registry
        run: echo "registry=//registry.npmjs.org/:_authToken=$NPM_TOKEN" > ~/.npmrc
        env:
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

      - name: Configure CI Git User
        run: |
          git config --global user.email octobot@github.com
          git config --global user.name GitHub Actions

      - name: Publish package
        run: yarn deploy --yes
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      - name: Build Docs
        run: yarn docs

      - name: Deploy Docs
        run: |
          echo "apolloelements.dev" > docs/CNAME
          npx gh-pages --dist docs

它在“发布软件包”步骤中失败,并显示以下消息:

lerna info git Pushing tags...
lerna ERR! Error: Command failed: git push --follow-tags --no-verify origin master
lerna ERR! fatal: could not read Username for 'https://github.com': No such device or address
lerna ERR! 
lerna ERR!     at makeError (/home/runner/work/apollo-elements/apollo-elements/node_modules/execa/index.js:174:9)
lerna ERR!     at Promise.all.then.arr (/home/runner/work/apollo-elements/apollo-elements/node_modules/execa/index.js:278:16)
lerna ERR! Error: Command failed: git push --follow-tags --no-verify origin master
lerna ERR! fatal: could not read Username for 'https://github.com': No such device or address
lerna ERR! 
lerna ERR!     at makeError (/home/runner/work/apollo-elements/apollo-elements/node_modules/execa/index.js:174:9)
lerna ERR!     at Promise.all.then.arr (/home/runner/work/apollo-elements/apollo-elements/node_modules/execa/index.js:278:16)
lerna ERR! lerna Command failed: git push --follow-tags --no-verify origin master
lerna ERR! lerna fatal: could not read Username for 'https://github.com': No such device or address
lerna ERR! lerna 
error Command failed with exit code 128.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

更改远程以使用HTTPS和github令牌没有帮助:

git remote rm origin
git remote add origin "https://$USER_NAME:$GITHUB_PERSONAL_ACCESS_TOKEN@github.com/apollo-elements/apollo-elements.git"

哪里GITHUB_PERSONAL_ACCESS_TOKEN是通过秘密通过了PAT。

在这种情况下,我收到此错误:

lerna ERR! ENOREMOTEBRANCH Branch 'master' doesn't exist in remote 'origin'.

我应该如何设置项目以能够将标签推送并从CD提交回存储库?



1> Benny Powers..:

在StackOverflow用户@rmunn的帮助下,我得出了以下解决方案:

  - name: Configure CI Git User
    run: |
      git remote rm origin
      git remote add origin "https://$USER_NAME:$GITHUB_PAT@github.com/apollo-elements/apollo-elements.git"
      git fetch
      git config --global user.email octobot@github.com
      git config --global user.name GitHub Actions
    env:
      USER_NAME: ${{ secrets.DEPLOYING_USER_NAME }}
      GITHUB_PAT: ${{ secrets.GITHUB_PAT }}

GITHUB_PAT在个人访问令牌与repo范围,保存在秘密。

git fetch需要建立本地分支机构的改变遥控器上。需要个人访问令牌才能推回存储库。


推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • python3.7 安装pip3_python3的pip3安装
    ---恢复内容开始---pip3的安装需要对应一整套python的编译工具库,所以安装好的pip3是这个样子:inearAi:~$pip3-Vpi ... [详细]
  • 你知道GPL吗?GPL 没落了吗?
    不久之前我看到了RedMonk的StephenOGrady发了一个关于开源协议的有趣的推特,那个推特里面有这张图。RedmonkBlackDuckLicensing ... [详细]
  • 1.在OpenStack圈子中,有这么一句名言:不要让朋友在生产环境中运行DevStack。但是初学者在没有掌握OpenStackCLI的情况下用devstack安装测试环境还是不 ... [详细]
  • Ubuntu下本地仓库项目上传至github远程仓库
    纯属个人笔记,参考了多篇其他资料,仅供参考。该方法对Ubuntu14.04和16.04都适用。初次使用Git的设置如果初始化配置已经在之前弄过的可以直接跳过这一部分至push ... [详细]
  • 因此,我对Github操作非常陌生,并尝试在工作流中实施操作。我需要将repo_2 ... [详细]
  • 必须先赞下国人npm库作品:node-images(https:github.comzhangyuanweinode-images),封装了跨平台的C++逻辑,形成nodejsAP ... [详细]
  • React 小白初入门
    推荐学习:React官方文档:https:react.docschina.orgReact菜鸟教程:https:www.runoob.c ... [详细]
  • FirsttheInlinefunctionalityisanexcellentidea.Itworkswhenworkingondatabases ... [详细]
  • php框架PHPixie与Laravel的比较
    版本系统这两个框架都是迭代非常快速的框架。它们都不同于symfony,后者的变化要慢得多,甚至2.7和3.0版本之间的差异也不是很大。但是,如果将其与Linux发行版进行比较,则Symfony类似于Debian,Laravel类似于Ubuntu,PHPixie类似于Arch。 ... [详细]
  • RK3568开发笔记(四):在虚拟机上使用SDK编译制作uboot、kernel和buildroot镜像
    前言上一篇搭建好了ubuntu宿主机开发环境,本篇的目标系统主要是开发linux+qt,所以需要刷上billdroot+Qt创建的系统,为了更好的熟悉原理和整个开发过程,选择从零开 ... [详细]
  • ios原生骨架库,网络过渡动画封装
    最新版2.0.5,release版本目录关于TABAnimated实现原理优点演变过程效果图安装使用Cocoapods手动导入使用步骤扩展回调Tips属性相关强调最后关于TABAn ... [详细]
  • 六、PCA主成分分析(降维)github地址:https:github.comlawlite19MachineLearning_Python全部代码1、用处数据压缩(Data ... [详细]
  • 当在github上发现别人项目有BUG,或者想要完善其功能的时候,该如何把自己的修改提交到项目中呢?以logback为例步骤:1,fork一份logback代码到自己的仓库进入github要修改项目 ... [详细]
author-avatar
高朗1_114
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有