Git Commit 버전 처리와 결합된 Angular에 대한 기사가 끝나면 질문이 남습니다. 이제 문제를 구체적으로 설명하고
?이를 Jenkins 빌드와 결합하여 빌드 번호와 같은 빌드 정보를 얻고 백필할 수 있습니까
페이지로? [추천 관련 튜토리얼: "Angular Tutorial"]
다음과 같습니다.
아, 원본을 토대로 수정해보겠습니다.
build_info.json
파일을 루트 디렉터리에 추가합니다.
{ }
읽으셨군요.
build_info.json
의 내용은{}
입니다.
build_info.json
파일은 Jenkinsfile
빌드할 때 생성됩니다.
구체적인 구현 아이디어는 다음과 같다:
빌드 과정에서 Jenkinsfile
실행하여 build_info.json
파일을 생성하고,
프로젝트 패키징 시 다양한 환경에 맞게 build_info.json
파일의 내용을 가져올지 여부를 고려한다
. 여기서의 환경은 프로덕션 환경만 고려합니다
. 단계는 간단한 두 단계로 이루어지며, 가장 중요한 점은 build_info.json
파일의 내용을 작성하는 방법 입니다.
Jenkinsfile
관련 내용이 익숙하지 않다면 Jenkins Pipeline과 Gitlab을 이용한 Node 프로젝트 자동 구축에 대한 글을 읽어보시기 바랍니다. 이 시점에서는 다음과 같이 Jenkinsfile
기사의 내용에 중점을 둡니다
. 대리인 도구 { nodejs "노드js" } { 스테이지 stage('종속성') { {걸음 sh 'npm 설치' } } # 여기에 스테이지를 추가했습니다. 아래를 보시죠? stage('빌드') { {걸음 sh 'npm 깨끗하게 실행' sh 'npm 실행 빌드' } } } }
build_info.json
파일 작성을 완료하기 위한 stage
추가했습니다.
stage('버전') { {걸음 스크립트 { 데프 아마프 = 'build_number': BUILD_NUMBER, # 빌드 번호 'job_name': JOB_NAME # 태스크 이름] # 쓰기 파일 writeJSON file: WORKSPACE+'build_info.json', json: amap # WORKSPACE 루트 디렉터리} } }
네, 아이디어는 괜찮습니다... 그렇죠?
두 번째 단계로 가보겠습니다. build_info.json
의 내용을 읽고, version.js
의 프로덕션 환경 부분의 내용을 가로챕니다.
// 생성된 build_info.json 파일을 소개합니다. let buildInfo = require ('./build_info.json'); if(config.env === '생산') { // 빌드 버전 번호를 가져오고, 그렇지 않으면 기본 버전을 가져옵니다. versionObj.version = buildInfo.build_number || }
위 파일을 완성한 후 해당 환경에 퍼블리시하면 페이지에서 해당 버전 번호를 확인할 수 있습니다.
이 기사는 angular
과 별로 관련이 없으며, 단지 jenkins
와 협력하는 데 사용됩니다. 다음 기사에서는 spa
개발에 Angular
사용하는 방법에 대해 설명하므로 계속 지켜봐 주시기 바랍니다.
이 기사는 다음에서 복제되었습니다: https://juejin.cn/post/7081642981890981895
작성자: Jimmy