노드의 지속적인 통합회사 명
간단한 항목
leaflet-binglayer은(는) 플러그인입니다.그 목표는 기본적으로 소모되지 않는 방식Leaflet (“an open-source Javascript library for mobile-friendly interactive maps”)으로 Bing Maps층을 집적하는 것이다.이것은 브라우저 라이브러리이지 적당한 노드가 아니다.js 프로젝트, 하지만 원리와 도구 패키지는 매우 같습니다.
거래 과다 / 마카토이사
빙지도층을 처리하는 전단지 플러그인도 있어요.
이 프로젝트의 주요 내용은 다음과 같습니다.
leaflet-binglayer (
gulpfile.js
). The build file
build.bat
는 로컬에서 파일 생성을 수행하는 데 도움이 됩니다.The script file (
.travis.yml
). CI 구성 파일 파일 생성
구축 설명으로 를 선택했습니다. 주로 순수한 Javascript가 될 수 있는 유일한 구축 도구이기 때문입니다.그것 자체도 어떤 일을 어떻게 해야 할지 거의 모른다. 나는 이것이 구축 도구에서 항상 좋은 일이라고 믿는다.내가 아는 다른 대안은 적어도 한 가지 측면에서 부족한 것 같다.
gulp.js는 좋은 도구이지만 설명은 주로 JSON입니다. 데이터 교환 형식으로만 설계되었습니다. grunt.js...
notoriously lacks comments는 매우 강력한 모듈 귀속기로 많은 기능을 가지고 있으며 때로는 구축 도구로 위장할 수 있다.다시 한 번 말씀드리는 건 JSON입니다.그것은 복잡한 장면을 복잡하게 만들었고, 때로는 심지어 불가능하게 만들었다.나는 그것을 모듈 귀속기로 하는 것을 좋아한다. 그것은 다른 곳에서 묘사한 더 큰 구축의 일부분으로 가장 잘한다.
gulp.task('clean', function () {
const del = require('del')
return del(['tmp/'])
})
const plugins = require('gulp-load-plugins')({ lazy: true })
gulp.task('analysis-eslint', function () {
return gulp.src('src/**/*.js')
.pipe(plugins.eslint())
.pipe(plugins.eslint.format())
.pipe(plugins.eslint.failAfterError())
})
일관성은 내 인지적 부담을 감소시키기 때문에 구축 파일gulpfile.js
에서 정의된 목표는 많거나 적거나 같습니다.정리: 생성
tmp\
디렉터리를 정리합니다.컴파일: large library of plugins 컴파일(즉 축소) 원본 코드를 사용합니다.
분석: eslint를 사용하여 프로젝트에 대해 정적 분석을 한 다음에 UglifyJS를 사용하여 통계 데이터를 수집한다.
패키지: 축소된 파일을
tmp\out\bin\
폴더로 복사하기만 하면 됩니다.구축: 분석과 번역이 결합된 단축 방식.
재구성: 조합을 정리하고 생성하는 단축키입니다.
발표: 정리, 생성, 포장 조합의 단축키.
그런 다음 운영 파일
package.json
파일에서 시스템을 편리하게 사용하고 검색할 수 있도록 이러한 대상을 참조하여 주요 포털 포인트로 사용합니다.{
"scripts": {
"analysis": "gulp analysis",
"clean": "gulp clean",
"compile": "gulp compile",
"package": "gulp package",
"build": "gulp build",
"rebuild": "gulp rebuild",
"release": "gulp release"
}
}
에스린트 스크립트 파일
여기에는 새로운 내용이 없다. 왜냐하면 전체 구축은 위에서 설명한 바와 같이 스크립트는 우리가 쉽게 할 수 있도록 하기 위해서이다.
CALL npm.cmd install --no-package-lock --no-shrinkwrap --loglevel info --cache .tmp\npm-cache
CALL npm.cmd run-script %TARGET% --loglevel %VERBOSITY%
응, 거의 아무것도 없어.build.sh
파일 하나만 추가하면 됩니다 (물론 잊지 마세요 the cloc utility.npm install --no-package-lock --no-shrinkwrap --loglevel info --cache .tmp/npm-cache
npm run-script $_TARGET --loglevel $_VERBOSITY
.tmp\
디렉터리로 이동합니다 (dot 주의).build\
폴더 (관례에 따라) 에는 Windows의 다른 구축 스크립트에서 호출되는 SetEnv.bat
스크립트가 있습니다. 이 스크립트는 구축 환경(강력한 Windows 등록표를 사용하여 설치 경로를 검사하고 환경 변수를 초기화하며 부족한 의존 항목을 경고합니다...) 및 (로컬) 설치에 부족한 의존 항목을 초기화할 수 있습니다.IF NOT EXIST "%CD%\.tmp\cloc.exe" (
IF NOT EXIST .tmp MKDIR .tmp
powershell.exe -NoLogo -NonInteractive -ExecutionPolicy ByPass -Command "& { [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Invoke-WebRequest https://github.com/AlDanial/cloc/releases/download/v$Env:_CLOC_VERSION/cloc-$Env:_CLOC_VERSION.exe -OutFile .tmp\cloc.exe; }"
)
if [! -d .tmp]; then mkdir .tmp; fi
if [! -f $(pwd)/.tmp/cloc.pl]; then
wget -nv --show-progress -O .tmp/cloc.pl https://github.com/AlDanial/cloc/releases/download/v$_CLOC_VERSION/cloc-$_CLOC_VERSION.pl
fi
이러한 방식으로 가능한 한 외부 의존 관계를 많이 처리하면 문서에 대한 수요('선결 조건'부분에서)를 현저히 줄이고 새로운 개발자가 프로젝트에 가입하는 데 걸리는 시간을 줄일 수 있다.나는 이것이 나의 많은 시간을 절약했다는 것을 안다. 내가 이 프로젝트로 돌아온 지 2년 후에...cloc 유틸리티 CI 구성 파일
모든 어려움을 처리한 후에 우리의 프로필은 더 이상 간단할 수 없다. 이것이 우리의 목표이다.예를 들어, 사용the execute mode permissions,
.bashrc
의 요점은 다음과 같습니다.install:
- . build/.bashrc
- npm install --no-package-lock --no-shrinkwrap
script:
- npm run-script release --loglevel notice
더욱 완전한 항목
좋아, 내가 여기서 너희들에게 보여줄 것이 그리 많지 않을 것 같아.그러나 상술한 항목에서 모든 유용한 개념이 언급되었다.이 파이프를 다른 유형의 프로젝트와 성공적으로 결합할 수 있다는 것만 알면 됩니다.
.travis.yml
와 백엔드 원본 파일의 복사본을 실행하여 생산과 관련된 의존 항목만 포장할 수 있도록 하는 것이 주요 방법입니다.나는 그것을 연습으로 너에게 남겨 두지만, 너는 자바스크립트의 모든 기능을 가지고 있기 때문에 (야ML이나 JSON이 아니라) 실현할 수 있을 것이다. (나는 아주 오래 전에 사용했고Travis CI.Reference
이 문제에 관하여(노드의 지속적인 통합회사 명), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mcartoixa/continuous-integration-for-node-js-3iak텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)