Spring Bootアプリケーションinit.dサービスの再配布

Spring Bootアプリケーションinit.dサービスの再配布

私はこのガイドに従ってSpring Bootアプリケーションをinit.dサービスに設定しました。 https://docs.spring.io/spring-boot/docs/current/reference/html/deployment.html#deployment-initd-service 私のWebサイトはうまくいきますが、いくつかの新しい変更を展開しようとすると更新されません。再配布を試みる方法は次のとおりです。

$ ~/deploy.sh 
#!/bin/bash
rm -rd /var/myapp/target
rm -rd /etc/init.d/myapp
git --git-dir=/var/myapp/.git pull 
sudo systemctl stop myapp
mvn clean package
rm -rd /etc/init.d/myapp
ln -s /var/myapp/target/myapp-0.1.0.jar /etc/init.d/myapp 
systemctl daemon-reload
systemctl start myapp
systemctl status myapp

私の瓶に最新のコードがあることを確認しましたが、それでも更新されません。もう少し遊んで、いくつかのinit.dファイルを削除したようですが、今はまったく機能せず、このエラーが発生します。

$ sudo ln -s /var/myapp/target/myapp-0.1.0.jar /etc/init.d/myapp 
ln: failed to create symbolic link ‘/etc/init.d/myapp’: File exists
$ sudo systemctl start  whatthephil
Failed to start myapp.service: Unit not found.

Springガイドでは、リンクを作成するとアプリケーションがインストールされることが示されていますが、正しくインストールされません。 /var/logs/myapp にログがありません。そこからログを見たことがあります。 myapp.serviceを探す理由は何ですか?リンクのみを作成してどのようにアプリケーションをインストールできますか?なぜ私のデバイスが見つかりませんか?

ベストアンサー1

更新するには、nginxキャッシュを削除する必要があります。 rm -rd /var/cache/nginx/cache *

現在、私はSpring Bootアプリケーションをこのように再配布しています。いつも何か問題が発生していますが、確認してみると通常は見つけるのが難しくありません。/var/log/myApp.log

service myApp stop
rm -rd /etc/init.d/myApp //careful backup home dir first
rm -rd /var/cache/nginx/cache * 
git --git-dir=/var/myApp/.git pull 
mvn clean package -f /var/myApp/pom.xml
ln -s /var/myApp/target/gs-serving-web-content-0.1.0.jar /etc/init.d/myApp 
service myApp start
service myApp status
certbot

おすすめ記事