Я обнаружил, что могу использовать туманность-плагин , который упоминается в вопросе.
Мне просто нужно добавить эти строки в build.gradle файл:
buildDeb {
link('/etc/systemd/system/project.service', '/opt/project/bin/project.service')
}
А также создайте файл project.service , как показано ниже, и заставьте плагин переместить файл службы для установки каталога пакета deb:
[Unit]
Description=<description>
[Service]
User=<user>
Group=<group>
EnvironmentFile=-/etc/default/project
ExecStart=/opt/project/bin/project > /var/log/project/project.log
Restart=no
[Install]
WantedBy=multi-user.target
Приведенный ниже кодСкопируйте файл сервиса (если вы поместите его в каталог bin корня проекта) и все другие необходимые файлы для установки каталога файла deb:
ospackage {
packageName = 'project'
configurationFile "/opt/project/bin/project.service"
into '/opt/project'
from(jar.outputs.files) {
into 'lib'
}
from(configurations.runtime) {
into 'lib'
}
from('build/libs') {
into 'lib'
}
from('conf'){
into 'conf'
}
from('bin') { //project.service is in bin directory
fileType = CONFIG | NOREPLACE //wont replace any configurationFile in this directory
into 'bin'
}
from('build/scripts') {
into 'bin'
exclude 'database'
fileMode = 0550
}
}