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