I am new to this gitlab world.
I have one private project. I am able to publish the package using command prompt.
My .npmrc file
@ui-practice:registry=https://gitlab.MyCompany.com/api/v4/packages/npm/
//gitlab.MyCompany.com/api/v4/packages/npm/:_authToken=PrivateToken
//gitlab.MyCompany.com/api/v4/projects/MyProjectID/packages/npm/:_authToken=PrivateToken
But I am unable to publish using Gitlab CICD, it giving below error
npm ERR! need auth This command requires you to be logged in to https://gitlab.MyCompany.com/api/v4/projects/MyProjectID/packages/npm/
npm ERR! need auth You need to authorize this machine using `npm adduser`
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Windows\system32\config\systemprofile\AppData\Local\npm-cache\_logs\2022
my .gitlab-ci.yml
image: node:latest
stages:
- deploy
deploy:
stage: deploy
script:
- echo "@MyScope:registry=https://${CI_SERVER_HOST}/api/v4/packages/npm/">.npmrc
- echo "//${CI_SERVER_HOST}/api/v4/packages/npm/:_authToken=${CI_JOB_TOKEN}">>.npmrc
- echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">>.npmrc
- echo "Created the following .npmrc:"; cat .npmrc
- npm publish
CI_JOB_TOKEN - I have created deploy token and added in gitlab variables
My package.json
{
"name": "@MyScope/MyPackageName",
"version": "1.0.23",
"description": "My Library.",
"publishConfig": {
"@MyScope:registry": "https://gitlab.MyCompany.com/api/v4/projects/MyProjectID/packages/npm/"
},
"scripts": {
"test": "web-test-runner \"./stories/**/*.test.js\" --node-resolve",
"storybook": "start-storybook -p 6006",
"build-storybook": "build-storybook",
"chromatic": "npx chromatic --project-token=78290d9f7c4f",
"build": "rimraf build && rollup -c",
"prepublishOnly": "npm install && npm run build",
"pack:dev": "npm pack && move *.tgz node_modules_offline/"
},
"repository": {
"type": "git",
"url": "https://gitlab.MyCompany.com/MyScope/MyPackageName.git"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"@applitools/eyes-storybook": "^3.27.6",
"@babel/core": "^7.17.7",
"@babel/plugin-proposal-class-properties": "^7.16.7",
"@babel/plugin-proposal-decorators": "^7.17.2",
"@babel/plugin-proposal-export-default-from": "^7.16.7",
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7",
"@babel/plugin-proposal-object-rest-spread": "^7.17.3",
"@babel/plugin-proposal-optional-chaining": "^7.16.7",
"@babel/plugin-proposal-private-methods": "^7.16.11",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-transform-arrow-functions": "^7.16.7",
"@babel/plugin-transform-block-scoping": "^7.16.7",
"@babel/plugin-transform-classes": "^7.16.7",
"@babel/plugin-transform-destructuring": "^7.17.7",
"@babel/plugin-transform-for-of": "^7.16.7",
"@babel/plugin-transform-parameters": "^7.16.7",
"@babel/plugin-transform-runtime": "^7.17.0",
"@babel/plugin-transform-shorthand-properties": "^7.16.7",
"@babel/plugin-transform-spread": "^7.16.7",
"@babel/preset-env": "^7.16.11",
"@babel/preset-typescript": "^7.16.7",
"@rollup/plugin-babel": "^5.3.1",
"@rollup/plugin-commonjs": "^21.1.0",
"@rollup/plugin-node-resolve": "^13.2.1",
"@rollup/plugin-strip": "^2.1.0",
"@rollup/plugin-typescript": "^8.3.2",
"@storybook/addon-a11y": "^6.4.19",
"@storybook/addon-actions": "^6.4.19",
"@storybook/addon-essentials": "^6.4.19",
"@storybook/addon-links": "^6.4.19",
"@storybook/addons": "^6.4.19",
"@storybook/preset-scss": "^1.0.3",
"@storybook/theming": "^6.4.19",
"@storybook/web-components": "^6.4.19",
"babel-loader": "^8.2.3",
"babel-plugin-macros": "^3.1.0",
"babel-plugin-polyfill-corejs3": "^0.5.2",
"chromatic": "^6.5.4",
"core-js": "^3.21.1",
"css-loader": "^5.2.7",
"eslint": "^8.11.0",
"html-minifier-terser": "^7.0.0-alpha.2",
"rimraf": "^3.0.2",
"rollup": "^2.70.2",
"rollup-plugin-copy": "^3.4.0",
"rollup-plugin-dts": "^4.2.1",
"rollup-plugin-minify-html-literals": "^1.2.6",
"rollup-plugin-peer-deps-external": "^2.2.4",
"rollup-plugin-scss": "^3.0.0",
"rollup-plugin-terser": "^7.0.2",
"sass": "^1.49.9",
"sass-loader": "^10.2.1",
"storybook-dark-mode": "^1.0.9",
"style-loader": "^2.0.0"
},
"dependencies": {
"@esm-bundle/chai": "^4.3.4-fix.0",
"i18next": "^21.6.14",
"lit-html": "^2.2.0",
"node-sass": "^6.0.1"
},
"main": "build/cjs/index",
"module": "build/esm/index",
"files": [
"build"
]
}
what is missing? any idea why gitlab asked me login again?
need auth This command requires you to be logged in to
It's able to build the artifacts only issue in publishing the package using CICD, from visual studio terminal it's working fine.
CodePudding user response:
Compare the output of echo "Created the following .npmrc:"; cat .npmrc
to your local .npmrc
file. Are there any discrepancies? Is it possible that one or more of the environment variables within CI are blank?
CodePudding user response:
Thank you for your response, Both are same
My local .npmrc file
@MyScope:registry=https://gitlab.MyCompany.com/api/v4/packages/npm/
//gitlab.MyCompany.com/api/v4/packages/npm/:_authToken=PrivateToken
//gitlab.MyCompany.com/api/v4/projects/1233/packages/npm/:_authToken=PrivateToken
And out put from .yml file i.e. cat .npmrc
Created the following .npmrc:
@MyScope:registry=https://gitlab.MyCompany.com/api/v4/packages/npm/
//gitlab.MyCompany.com/api/v4/packages/npm/:_authToken=PrivateToken
//gitlab.MyCompany.com/api/v4/projects/1233/packages/npm/:_authToken=PrivateToken