[英]Get latest version of GitLab repo when depending on it in package.json
[英]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.