Apache Wagon ile Spring Boot Uygulamasını Uzak Sunucuya Deploy Etme
Kısa süre önce tek başıma geliştirdiğim Spring-Boot uygulamasını deploy etme ihtiyacım oldu. Bunun için Jenkins kurup konfigürasyon da istemiyordum.
Siz de benim gibi bu CI / CD araçlarına ihtiyaçlarınız yoksa Apache Wagon maven pluginini tercih edebilirsiniz. Apache Wagon ile maven uygulamalarınızı remote server’a ssh bağlantısı yaparak kolayca deploy edebilirsiniz.
Deploy İşlemi
İlk olarak aşağıdaki wagon-ssh extension pom.xml’e ekliyoruz.
1 2 3 4 5 6 7 8 9 10 11 |
<extensions> <extension> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-ssh</artifactId> <version>2.10</version> </extension> </extensions> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>wagon-maven-plugin</artifactId> <version>1.0</version> <executions> <execution> <id>upload</id> <phase>deploy</phase> <goals> <goal>upload-single</goal> </goals> <configuration> <serverId>remote.server.id</serverId> <fromFile>${project.build.directory}/${project.artifactId}-${project.version}.${project.packaging}</fromFile> <url>scp://remote.server/opt/apps</url> </configuration> </execution> </executions> </plugin> |
1 2 3 4 5 6 7 8 9 10 |
<distributionManagement> <repository> <id>remote.server.id</id> <url>scp://remote.server/opt/apps</url> </repository> </distributionManagement> |
Yukarıdaki tanımlamaları pom.xml’de yaptıktan sonra .m2 klasörü settings.xml’de de server tanımlamasını yapmamız gerek.
SSH bağlantısı yapacağımız server’ın bağlantı bilgilerini giriyoruz.
1 2 3 4 5 6 7 8 9 |
<server> <id>remote.server</id> <username>username</username> <password>password</password> </server> |
Aşağıdaki komutu çalıştırıyoruz..
1 2 3 4 5 |
mvn clean deploy |
Çıktı
1 2 3 4 5 6 7 8 9 10 11 12 13 |
INFO] --- wagon-maven-plugin:1.0:upload-single (upload) @ project1 --- [INFO] Uploading: /Users/cemdirman/eclipse_projects/Project1/target/project1-0.0.1.jar scp://0.0.0.0/opt/apps/project-0.0.1.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 07:19 min [INFO] Finished at: 2019-11-17T21:22:45+03:00 [INFO] Final Memory: 46M/448M [INFO] ------------------------------------------------------------------------ |
Kaynak
Faydalı olması dileğiyle.