노드 종속성 업데이트 자동화
6743 단어 productivitynpmgithubjavascript
일종의 CI/CD 환경과 비공개 GitHub 리포지토리가 있다고 가정하고 엔터프라이즈 환경에서 이 프로세스를 자동화하는 방법을 살펴보겠습니다.
🥒 재료
next-update
테스트를 중단하지 않고 종속성을 업데이트할 수 있는지 여부를 테스트하는 npm 패키지입니다.hub
CLI이것은 GitHub 리포지토리와 상호 작용할 수 있는 Git "Hub"의 명령줄 애플리케이션입니다.
hub
는 git
CLI 및 드롭인 교체와 정확히 유사하지만 GitHub와 상호 작용하는 기능이 추가되었습니다. 업데이트 작업 후 풀 요청을 여는 데 편리합니다.📝 레시피
npm install next-update --save-dev
next-update를 dev-dependency로 설치합니다. npm
스크립트 섹션에서 dep:update
스크립트package.json
를 구성합니다.// package.json
{
"name": "a-sample-node-project",
"version": "0.0.1",
"description": "A sample node project",
"scripts": {
"test": "jest",
"start": "node app.js",
"dep:update": "next-update" // Configure an npm script
},
"devDependencies": {
"next-update": "^3.6.0"
},
"dependencies": {
},
}
npm run dep:update
스크립트를 실행합니다. next-update
가 계속 진행하여 모든 새 패키지를 찾습니다. 순서대로 업데이트하고 테스트가 통과하면 업데이트를 유지합니다. hub
CLI 다운로드 및 설치# download-hub.sh
HUB_CLI=/opt/hub-linux/bin/hub
if [[ ! -f $HUB_CLI ]]; then
wget https://github.com/github/hub/releases/download/v2.12.2/hub-linux-amd64-2.12.2.tgz
tar zxvf hub-linux-amd64-2.12.2.tgz
rm -rf hub-linux-amd64-2.12.2.tgz /opt/hub-linux
mv hub-linux-amd64-2.12.2 /opt/hub-linux
fi
허브 구성
git config --global --replace-all hub.host github.yourdomain.com
git config --global --replace-all hub.protocol git
🤖 봇에게 풀 요청을 열도록 지시
$HUB_CLI add package.json package-lock.json
$HUB_CLI commit -m "🤖 [BOT] Automated dependency update"
$HUB_CLI pull-request \
--push \
-m "Pull Request Subject" \
-m "Pull Request Description" \
--no-edit \
--reviewer user-id1,user-id2
마무리
노드 종속성을 확인 및 업데이트하고 PR을 여는 프로세스를 자동화하는 방법을 살펴보았습니다. 프로젝트가 오픈 소스인 경우 Greenkeeper와 같은 서비스를 사용할 수 있습니다.
건배
Medium에서 내 이전 글을 찾으십시오.
One side rounded rectangle using SVG
Reference
이 문제에 관하여(노드 종속성 업데이트 자동화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/dennismphil/automate-your-node-dependency-updates-4aga텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)