簡體   English   中英

Gitlab-更新版本包

[英]Gitlab - Update version package

我們在Gitlab中創建了一個vuejs庫proyect,並創建了一個簡單的管道,該管道在我們推送提交后執行。

我們在上一個作業執行npm version patch (在項目中更新補丁)時遇到問題,但是...未更新,因此無法正常工作。

.gutlab-ci.yml

image: node:8.10.0-slim

cache:
  paths:
    - node_modules/

before_script:
  - npm install

stages:
  - lint
  - test
  - deploy

test:
  stage: test
  script:
    - npm run peers:add && npm run test:unit
  tags:
    - docker

lint:
  stage: lint
  script:
    - npm run lint
  coverage: /All files[^|]*\|[^|]*\s+([\d\.]+)/

publish:
  stage: deploy
  script:
    - npm run peers:remove
    - echo -e "//gitlab.com/api/v4/projects/<my-project>/packages/npm/:_authToken=${CI_NPM_TOKEN}" > ~/.npmrc
    - npm login
    - npm version patch
    - npm publish

還有package.json

[...]
"scripts": {
    ...
    "build:dev": "npm run clean && webpack --config build/webpack.config.dev.js",
    "version": "npm run build:dev && git add -A dist",
    "postversion": "git push --follow-tags"
    ...
}
[...]

喬布斯不屑一顧並測試工作正常,但不發布。

[...]
removed 4 packages in 9.428s
$ echo -e "//gitlab.com/api/v4/projects/<my-project>/packages/npm/:_authToken=${CI_NPM_TOKEN}" > ~/.npmrc
$ npm login
Username: npm ERR! cb() never called!

npm ERR! This is an error with npm itself. Please report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/...-debug.log
ERROR: Job failed: exit code 1

當合並請求被接受時,我們需要自動構建庫並使用新版本(新補丁, npm version patch )將其上傳到npm存儲庫。 這是可能的?

謝謝。

npm login是一個交互式命令,因此在CI中效果不佳。 嘗試使用軟件包npm-login-noninteractive通過命令行傳遞您的憑據。 您可以在before_script中全局安裝它:

before_script:
  - npm i -g npm-login-noninteractive

然后在發布腳本中代替npm login調用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM