1. nodejs
如果构建环境是纯内网通过nexus代理的方式,即使设置了
npm config set registry 私有仓库
也依然无法下载依赖的异常现象,那么很有可能是前端开发人员在写代码的时候直接使用了npm install不指定私有仓库导致生成的package-lock.json文件也一并提交到git中,那么在内网构建的时候即使明确指定了npm config set registry 私有仓库
也依然会出现下载失败的,此时要尝试 rm -rf package-lock.json删掉锁文件尝试重新构建生成
npm --version
:显示npm
的当前版本。node -v
:显示当前的Node.js
版本。npm config set registry https://registry.npmmirror.com/
:将npm
的镜像源设置为淘宝镜像源,以加速下载。echo \
npm config get registry`:显示当前设置的
npm` 镜像源,确认是否已更改。npm install --ignore-scripts --prefer-offline --no-audit --verbose
:安装依赖包,忽略脚本执行,优先离线安装,不进行安全审核,并输出详细日志。echo "install finished"
:安装完成后输出“install finished”提示。npm run build
:执行项目的构建命令(一般会根据package.json
中的配置)。echo "build finished"
:构建完成后输出“build finished”提示。
npm --version
node -v
# rm -rf package-lock.json
npm config set registry https://registry.npmmirror.com/
echo `npm config get registry`
npm install --ignore-scripts --prefer-offline --no-audit --verbose
echo "install finished"
npm run build
echo "build finished"
2. maven
mvn clean package
:clean
:清理项目,删除target/
目录下的所有已编译文件和构建的输出,确保一个干净的构建环境。package
:编译项目并打包,生成.jar
或.war
等可执行文件。这个过程会读取pom.xml
文件中的配置,并将源码编译成最终的可部署构件。
-Dmaven.test.failure.ignore=true
:
该选项告诉 Maven 在测试失败时不要中止构建。即使某些单元测试失败,构建过程仍会继续,生成构件。-DskipTests=true
:
跳过单元测试的执行。即在构建过程中不运行测试用例,但仍会进行编译和打包。如果希望彻底跳过测试并且不编译测试代码,使用-DskipTests=true
是很常见的做法。-U
:
强制 Maven 更新所有的依赖项。即使本地仓库中已有相同版本的依赖,它也会从远程仓库重新下载依赖。这通常用于确保使用的是最新版本的依赖。
mvn clean package -Dmaven.test.failure.ignore=true -DskipTests=true -U
3. maven deploy
mvn deploy
:Maven 的deploy
命令,用于将构建好的项目(包括 JAR 文件、WAR 文件、POM 文件等)上传到远程仓库(如 Nexus)。-Dreleases.repo=http://nexus.uat.tanqidi.com/repository/maven-releases/
:指定一个 Maven Releases 仓库的 URL,用于上传发布版本的构件(即稳定版本)。-Dsnapshots.repo=http://nexus.uat.tanqidi.com/repository/maven-snapshots
:指定一个 Maven Snapshots 仓库的 URL,用于上传快照版本的构件(即开发中的版本)。
mvn deploy -Dreleases.repo=http://nexus.uat.tanqidi.com/repository/maven-releases/ -Dsnapshots.repo=http://nexus.uat.tanqidi.com/repository/maven-snapshots
4. gradle
gradle build
:
执行 Gradle 的build
任务,通常包括编译、测试、打包等一系列操作,最终生成构建产物(如 JAR、WAR 文件等)。build
是 Gradle 的默认构建任务。--info
:
该选项增加日志的详细程度,输出比默认更详细的信息(通常是 "INFO" 级别的日志)。这有助于在构建过程中排查问题或了解构建流程的更多细节。
gradle build --info