Ali*_*jad 2 java gradle systemd
如何从 Java Gradle 项目获取 deb 包,该项目在安装 deb 文件后自动生成/etc/systemd/system/project.service ,并在/var/project/bin/中添加二进制文件,在/etc中添加配置文件/项目/。
类似https://github.com/nebula-plugins/gradle-ospackage-plugin但具有 systemd 支持。抱歉英语不好!
我发现我可以使用有问题提到的星云插件。
我只需要将以下行添加到build.gradle文件中:
buildDeb {
link('/etc/systemd/system/project.service', '/opt/project/bin/project.service')
}
Run Code Online (Sandbox Code Playgroud)
并创建一个如下所示的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
Run Code Online (Sandbox Code Playgroud)
下面的代码将复制服务文件(如果将其放在项目根目录的 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
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1123 次 |
| 最近记录: |