...
- 다음은 pom.xml 파일입니다.
코드 블럭 | ||
---|---|---|
| ||
... 생략 <build> <plugins> ... 생략<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <plugin>xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.apachespringframework.maven.plugins<boot</groupId> <artifactId>maven-deploy-plugin<<artifactId>spring-boot-starter-parent</artifactId> <version>2.4.2</version> <version>${maven-deploy-plugin.version}</version> <relativePath/> <!-- lookup parent from repository --> </parent> <configuration><groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <skip>true</skip><name>demo</name> <description>Demo project for </configuration>Spring Boot</description> <properties> </plugin><java.version>1.8</java.version> <maven-deploy-plugin.version>2.8.2</maven-deploy-plugin.version> <plugin></properties> <dependencies> <dependency> <groupId>org.sonatypespringframework.plugins<boot</groupId> <artifactId>nexus-staging-maven-plugin<<artifactId>spring-boot-starter</artifactId> </dependency> <version>1.5.1</version><dependency> <groupId>org.springframework.boot</groupId> <executions> <artifactId>spring-boot-starter-test</artifactId> <execution><scope>test</scope> </dependency> </dependencies> <build> <id>default-deploy</id><plugins> <plugin> <phase>deploy</phase> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <goals> </plugin> <plugin> <goal>deploy</goal> <groupId>org.apache.maven.plugins</groupId> </goals><artifactId>maven-source-plugin</artifactId> </execution><version>3.2.1</version> </executions><executions> <configuration> <execution> <serverId>nexus<<id>attach-sources</serverId>id> <nexusUrl>http://[maven repository url]:[maven repository port]/repository/maven-snapshots/</nexusUrl> <goals> <skipStaging>true<<goal>jar</skipStaging>goal> </configuration>goals> </plugin> </plugins>execution> </build> <distributionManagement> <snapshotRepository></executions> <id>nexus-snapshots<</id>plugin> <url>http://[maven repository url]:[maven repository port]/repository/maven-snapshots/</url> <plugin> <groupId>org.apache.maven.plugins</groupId> </snapshotRepository><artifactId>maven-deploy-plugin</artifactId> </distributionManagement> ... 생략 |
- 설정이 완료 되었다면, maven clean deploy -Dmaven.test.skip=true 명령어를 통해 maven을 실행시킵니다. (저는 Windows에 maven설치가 안되어 있어 spring boot 프로젝트의 mvnw 파일을 통해 mvn 명령어로 실행하였습니다.)
<version>${maven-deploy-plugin.version}</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.5.1</version>
<executions>
<execution>
<id>default-deploy</id>
<phase>deploy</phase>
<goals>
<goal>deploy</goal>
</goals>
</execution>
</executions>
<configuration>
<serverId>nexus</serverId>
<nexusUrl>http://[Nexus Repository URL]:[Nexus Port]/repository/maven-snapshots/</nexusUrl>
<skipStaging>true</skipStaging>
</configuration>
</plugin>
</plugins>
</build>
<distributionManagement>
<snapshotRepository>
<id>nexus-snapshots</id>
<url>http://[Nexus Repository URL]:[Nexus Port]/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
</project> |
- 설정이 완료 되었다면, maven clean deploy -Dmaven.test.skip=true 명령어를 통해 maven을 실행시킵니다. (저는 Windows에 maven설치가 안되어 있어 spring boot 프로젝트의 mvnw 파일을 통해 mvn 명령어로 실행하였습니다.)
코드 블럭 | ||||
---|---|---|---|---|
| ||||
C:\Users\hyunaoh\git\nexus-maven-demo>mvn clean deploy
[INFO] Scanning for projects...
[INFO]
[INFO] --------------------------< com.example:demo >--------------------------
[INFO] Building demo 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ demo ---
[INFO] Deleting C:\Users\hyunaoh\git\nexus-maven-demo\target
[INFO]
[INFO] --- maven-resources-plugin:3.2.0:resources (default-resources) @ demo ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Using 'UTF-8' encoding to copy filtered properties files.
[INFO] Copying 1 resource
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ demo ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to C:\Users\hyunaoh\git\nexus-maven-demo\target\classes
[INFO]
[INFO] --- maven-resources-plugin:3.2.0:testResources (default-testResources) @ demo ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Using 'UTF-8' encoding to copy filtered properties files.
[INFO] skip non existing resourceDirectory C:\Users\hyunaoh\git\nexus-maven-demo\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ demo ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to C:\Users\hyunaoh\git\nexus-maven-demo\target\test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.22.2:test (default-test) @ demo ---
[INFO]
[INFO] -------------------------------------------------------
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running com.example.demo.DemoApplicationTests
23:05:54.746 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating CacheAwareContextLoaderDelegate from class [org.springframewo
rk.test.context.cache.DefaultCacheAwareContextLoaderDelegate]
... 생략
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.4.2)
2021-01-30 23:05:55.262 INFO 5840 --- [ main] com.example.demo.DemoApplicationTests : Starting DemoApplicationTests using Java 1.8.0_252
on DESKTOP-G85CPR1 with PID 5840 (started by hyunaoh in C:\Users\hyunaoh\git\nexus-maven-demo)
2021-01-30 23:05:55.265 INFO 5840 --- [ main] com.example.demo.DemoApplicationTests : No active profile set, falling back to default prof
iles: default
2021-01-30 23:05:55.657 INFO 5840 --- [ main] com.example.demo.DemoApplicationTests : Started DemoApplicationTests in 0.619 seconds (JVM
running for 1.421)
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.115 s - in com.example.demo.DemoApplicationTests
[INFO]
[INFO] Results: | ||||
코드 블럭 | ||||
| ||||
>mvn clean deploy -Dmaven.test.skip=true -e [INFO] Scanning for projects... [INFO] [INFO] --------------------------< com.example:demo >-------------------------- [INFO] Building demo 0.0.1-SNAPSHOTTests run: 1, Failures: 0, Errors: 0, Skipped: 0 [INFO] [INFO] [INFO] --- maven-jar-plugin:3.2.0:jar (default-jar) @ demo --------------------------[ jar ]--------------------------------- [INFO] Building jar: C:\Users\hyunaoh\git\nexus-maven-demo\target\demo-0.0.1-SNAPSHOT.jar [INFO] [INFO] --- spring-boot-maven-clean-plugin:32.14.02:cleanrepackage (default-cleanrepackage) @ demo --- [INFO] Replacing main artifact with repackaged archive [INFO] [INFO] Deleting C:\Users\hyunaoh\git\nexus-maven-demo\target>>> maven-source-plugin:3.2.1:jar (attach-sources) > generate-sources @ demo >>> [INFO] [INFO] ---<<< maven-resourcessource-plugin:3.2.01:resourcesjar (defaultattach-resourcessources) < generate-sources @ demo ---<<< [INFO] [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Using 'UTF-8' encoding to copy filtered properties files. [INFO] Copying 1 resource--- maven-source-plugin:3.2.1:jar (attach-sources) @ demo --- [INFO] Copying 0 resourceBuilding jar: C:\Users\hyunaoh\git\nexus-maven-demo\target\demo-0.0.1-SNAPSHOT-sources.jar [INFO] [INFO] --- maven-compilerinstall-plugin:32.85.12:compileinstall (default-compileinstall) @ demo --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 1 source file toInstalling C:\Users\hyunaoh\git\nexus-maven-demo\target\classes [INFO] [INFO] --- maven-resources-plugin:3.2.0:testResources (default-testResources) @ demo ---demo-0.0.1-SNAPSHOT.jar to C:\Users\hyunaoh\.m2\repository\com\example\demo\0.0.1-SNAPSH OT\demo-0.0.1-SNAPSHOT.jar [INFO] Not copying test resources [INFO] [INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ demo ---Installing C:\Users\hyunaoh\git\nexus-maven-demo\pom.xml to C:\Users\hyunaoh\.m2\repository\com\example\demo\0.0.1-SNAPSHOT\demo-0.0.1-SNAPSHOT. pom [INFO] Not compiling test sources [INFO] [INFO] --- maven-surefire-plugin:2.22.2:test (default-test) @ demo --- [INFO] Tests are skipped.Installing C:\Users\hyunaoh\git\nexus-maven-demo\target\demo-0.0.1-SNAPSHOT-sources.jar to C:\Users\hyunaoh\.m2\repository\com\example\demo\0.0. 1-SNAPSHOT\demo-0.0.1-SNAPSHOT-sources.jar [INFO] [INFO] --- maven-jardeploy-plugin:32.8.2.0:jardeploy (default-jardeploy) @ demo --- [INFO] BuildingSkipping jar: C:\Users\hyunaoh\git\nexus-maven-demo\target\demo-0.0.1-SNAPSHOT.jarartifact deployment [INFO] [INFO] --- springnexus-bootstaging-maven-plugin:21.45.21:repackagedeploy (repackagedefault-deploy) @ demo --- [INFO] ReplacingPerforming maindeferred artifactdeploys with(gathering repackaged archive [INFO]into "C:\Users\hyunaoh\git\nexus-maven-demo\target\nexus-staging\deferred")... [INFO] Installing C:\Users\hyunaoh\git\nexus-maven-demo\target\demo-0.0.1-SNAPSHOT.jar to C:\Users\hyunaoh\git\nexus-maven-install-plugin:2.5.2:install (default-install) @ demo ---demo\target\nexus-staging\de ferred\com\example\demo\0.0.1-SNAPSHOT\demo-0.0.1-SNAPSHOT.jar [INFO] Installing C:\Users\hyunaoh\git\nexus-maven-demo\target\demo-0.0.1-SNAPSHOT.jarpom.xml to C:\Users\hyunaoh\.m2\repositorygit\nexus-maven-demo\target\nexus-staging\deferred\com\example\demo \0.0.1-SNAPSHOT\demo-0.0.1-SNAPSHOT.jarpom [INFO] Installing C:\Users\hyunaoh\git\nexus-maven-demo\pom.xmltarget\demo-0.0.1-SNAPSHOT-sources.jar to C:\Users\hyunaoh\.m2\repositorygit\nexus-maven-demo\target\nexus-st aging\deferred\com\example\demo\0.0.1-SNAPSHOT\demo-0.0.1-SNAPSHOT.pomSNAPSHOT-sources.jar [INFO] Deploying remotely... [INFO] Bulk deploying locally gathered artifacts from directory: [INFO] * Bulk deploying locally gathered snapshot artifacts to URL http://192.168.33.10:8089/repository/maven--- maven-deploy-plugin:2.8.2:deploy (default-deploy) @ demo --- [INFO] Skipping artifact deployment [INFO] [INFO] --- nexus-staging-maven-plugin:1.5.1:deploy (default-deploy) @ demo --- [INFO] Performing deferred deploys (gathering into "C:\Users\hyunaoh\git\nexus-maven-demo\target\nexus-staging\deferred")... [INFO] Installing C:\Users\hyunaoh\git\nexus-maven-demo\target\snapshots/ Downloading from nexus-snapshots: http://192.168.33.10:8089/repository/maven-snapshots/com/example/demo/0.0.1-SNAPSHOT/maven-metadata.xml Downloaded from nexus-snapshots: http://192.168.33.10:8089/repository/maven-snapshots/com/example/demo/0.0.1-SNAPSHOT/maven-metadata.xml (979 B at 9.7 kB/s) Uploading to nexus-snapshots: http://192.168.33.10:8089/repository/maven-snapshots/com/example/demo/0.0.1-SNAPSHOT/demo-0.0.1-SNAPSHOT-20210130.140557-3-sources .jar Uploaded to C:\Users\hyunaoh\git\nexus-maven-demo\target\nexus-staging\deferred\com\example\demo\nexus-snapshots: http://192.168.33.10:8089/repository/maven-snapshots/com/example/demo/0.0.1-SNAPSHOT\/demo-0.0.1-SNAPSHOT.jar [INFO] Installing C:\Users\hyunaoh\git\nexus-maven-demo\pom.xml to C:\Users\hyunaoh\git\nexus-maven-demo\target\nexus-staging\deferred\com\example\demo\0.0.1-SNAPSHOT\demo-0.0.1-SNAPSHOT.pom [INFO] Deploying remotely... [INFO] Bulk deploying locally gathered artifacts from directory: [INFO] * Bulk deploying locally gathered snapshot artifacts to URL-20210130.140557-3-sources. jar (2.6 kB at 286 B/s) Downloading from nexus-snapshots: http://192.168.33.10:8089/repository/maven-snapshots/com/example/demo/maven-metadata.xml Downloaded from nexus-snapshots: http://192.168.33.10:8089/repository/maven-snapshots/com/example/demo/maven-metadata.xml (275 B at 9.2 kB/s) Uploading to nexus-snapshots: http://192.168.33.10:8089/repository/maven-snapshots/ Downloading fromcom/example/demo/0.0.1-SNAPSHOT/maven-metadata.xml Uploaded to nexus-snapshots: http://192.168.33.10:8089/repository/maven-snapshots/com/example/demo/0.0.1-SNAPSHOT/maven-metadata.xml (979 B at 107 B/s) Uploading to nexus-snapshots: http://192.168.33.10:8089/repository/maven-snapshots/com/example/demo/0.0.1-SNAPSHOT/demo-0.0.1-20210130.101513-1.jarmaven-metadata.xml Uploaded to nexus-snapshots: http://192.168.33.10:8089/repository/maven-snapshots/com/example/demo/0.0.1-SNAPSHOT/example/demo/maven-0.0.1-20210130.101513-1.jar (8.5 MBmetadata.xml (275 B at 87230 kBB/s) Uploading to nexus-snapshots: http://192.168.33.10:8089/repository/maven-snapshots/com/example/demo/0.0.1-SNAPSHOT/demo-0.0.1-20210130.101513140557-13.pomjar Uploaded to nexus-snapshots: http://192.168.33.10:8089/repository/maven-snapshots/com/example/demo/0.0.1-SNAPSHOT/demo-0.0.1-20210130.101513140557-13.pomjar (28.95 kBMB at 315 B/s) Downloading from nexus-snapshots: http://192.168.33.10:8089/repository/maven-snapshots/com/example/demo/maven-metadata.xml895 kB/s) Uploading to nexus-snapshots: http://192.168.33.10:8089/repository/maven-snapshots/com/example/demo/0.0.1-SNAPSHOT/maven-metadata.xmldemo-0.0.1-20210130.140557-3.pom Uploaded to nexus-snapshots: http://192.168.33.10:8089/repository/maven-snapshots/com/example/demo/0.0.1-SNAPSHOT/maven-metadata.xml (765 Bdemo-0.0.1-20210130.140557-3.pom (3.4 kB at 84369 B/s) Uploading to nexus-snapshots: http://192.168.33.10:8089/repository/maven-snapshots/com/example/demo/0.0.1-SNAPSHOT/maven-metadata.xml Uploaded to nexus-snapshots: http://192.168.33.10:8089/repository/maven-snapshots/com/example/demo/0.0.1-SNAPSHOT/maven-metadata.xml (275979 B at 30107 B/s) [INFO] * Bulk deploy of locally gathered snapshot artifacts finished. [INFO] Remote deploy finished with success. [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 41.025 s01:01 min [INFO] Finished at: 2021-01-30T1930T23:1506:5052+09:00 [INFO] ------------------------------------------------------------------------ |
- 다음은 배포 완료 후 Nexus Repository 화면입니다.
- 해당 source 및 jar 파일이 들어와 생성되어 있는 것을 확인 할 수 있습니다.
- http://192.168.33.10:8089/repository/maven-snapshots/com/example/demo/0.0.1-SNAPSHOT/demo-0.0.1-20210130.103414-1.pom 를 확인하면 다음과 같습니다. (아래는 생략)
...