반응형
nexus 설치 및 설정하기
자바 설치
nexus 다운로드 및 압축 해제
mkdir -p /home/ubuntu/app \
&& cd /home/ubuntu/app \
&& wget https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/3/nexus-3.14.0-04-unix.tar.gz \
&& tar -xzvf nexus-*.tar.gz \
&& rm nexus-*.tar.gz \
&& ln -s -Tfs nexus-* nexus
nexus 실행
/home/ubuntu/app/nexus/bin/nexus start
nexus 접속
- http://<서버주소>:8081
nexus admin 계정 로그인
- ID : admin
- PW : admin123
Blob Stores 생성
- 설정 > Repository > Blob Stores > Create blob store
- Type : File
- Name : my-npm
- Path : /home/ubuntu/app/sonatype-work/nexus3/blobs/my-npm
Repositories 생성
- npm-registry
- Name : npm-registry
- Remote storage : https://registry.npmjs.org/
- Blob store : my-npm
- 설정 > Repository > Repositories > npm (proxy)
- npm-private
- Name : npm-private
- Blob store : my-npm
- 설정 > Repository > Repositories > npm (hosted)
- npm-group
- Name : npm-group
- Blob store : my-npm
- Members : npm-registry, npm-private
- 설정 > Repository > Repositories > npm (group)
admin 계정 비밀번호 변경
- 설정 > Security > Users > admin 선택 > Change password
- 최대한 복잡한 비밀번호로 변경 (여기서는 admin-!@#123)
Anonymous 접근 금지 설정
- 설정 > Security > Anonymous
- Allow anonymous users to access the server 체크 해제
- 아무나 브라우저를 통해 접근할 수 없도록 설정하는 부분
Realms 설정
- 설정 > Security > Realms
- npm Bearer Token Realm을 Active 영역으로 이동
- 이 설정을 해주지 않으면 npm publish시 “publish Failed PUT 401” 오류 발생
Roles 추가
- 설정 > Security > Roles > Create role
- npm-client, npm-publisher는 뒤에서 생성할 계정명과 동일하게 맞춰 추가한 Role ID
- 사용자 (npm-client)
- Role ID, Role name : npm-client
- Privilleges
- nx-repository-view-npm-*-browse
- nx-repository-view-npm-*-read
- 배포자 (npm-publisher)
- nx-repository-view-npm-npm-private-*
- Role ID, Role name : npm-publisher
- Privilleges
- Roles : npm-client
계정 추가
- 설정 > Security > Users > Create local user
- 사용자 (npm-client)
- ID : npm-client
- PW : npm-client-!@#123
- Role : npm-client
- 배포자 (npm-publisher)
- ID : npm-publisher
- PW : npm-publisher-!@#123
- Role : npm-publisher
배포 프로젝트 설정하기
.npmrc 파일 추가
- 터미널에서 npm login 명령어 실행
- ID : npm-publisher
- PW : npm-publisher-!@#123
- npm login –registry=http://<서버_주소>:8081/repository/npm-private/
- registry 주소 맨 끝에 ~/npm-private/ 끝에 /를 붙이지 않으면 오류 발생
- 명령어 실행 후 생성된 .npmrc 파일 확인
- 경로 : <사용자_디렉토리>/.npmrc
- 프로젝트로 .npmrc 파일 이동
- 경로 : <프로젝트_디렉토리>/.npmrc
컴포넌트 개발
- <프로젝트>/src/components/TestLayout1.vue
- <프로젝트>/src/components/TestLayout2.vue
index.js 파일 설정
- <프로젝트_디렉토리>/src/index.js
import TestLayout1 from "./components/TestLayout1.vue";
import TestLayout2 from "./components/TestLayout2.vue";
export {
TestLayout1,
TestLayout2
}
package.json 수정
- 버전이 겹치면 “npm ERR! publish Failed PUT 400” 오류 발생
- private:true면 오류 발생
- main이 설정되지 않으면 사용하는쪽에서 사용 불가
"name": "my-common-vue",
"version": "1.0.0",
"main": "src/index.js",
"private": false,
"publishConfig": {
"registry": "http://<서버_주소>:8081/repository/npm-private/"
}
배포
npm publish
배포 확인
- http://<서버_주소>:8081 접속
- Browse > npm-private > 프로젝트명에 들어가서 배포됐는지 확인
배포된 프로젝트 사용하기
.npmrc 파일 추가
- 경로 : <프로젝트>/.npmrc
# .npmrc 파일에 아래 내용 저장
# 주소 정보
registry=http://<주소>:8081/repository/npm-group/
# 계정 정보
# _auth값은 계정:비번을 base64로 인코딩한 값
# echo -n 'npm-client:npm-client-!@#123' | openssl base64
_auth=bnBtLWNsaWVudDpucG0tY2xpZW50LSFAIzEyMw==
package.json 디펜던시 추가
- “my-common-vue” : “1.0.0”
컴포넌트 임포트해서 코딩
import { TestLayout1, TestLayout2 } from "my-common-vue";
export default {
components: {
"test-layout1": TestLayout1,
"test-layout2": TestLayout2
}
}
설치 및 실행
npm install
npm run dev
참고 URL
반응형
'Development > VueJS' 카테고리의 다른 글
[VueJS] 실행하기 (0) | 2021.10.08 |
---|---|
[VueJS] 설치하기 (0) | 2019.04.25 |