我开始在 Spring Boot 中开发我的第一个 Rest API 项目。我创建了一些不太高级的程序,但可以运行。该项目有一个插件,可以帮助我创建新的 .jar 文件,该文件可以通过 SSH 客户端安装在我的 VPS 服务器上。在底部,我展示了在服务器上正确安装 .jar 文件所必须采取的图表。
- 在测试所有内容并获得正确结果后,我必须通过输入“mvn clean”来清除项目中现有的 .jar。
- 稍后我必须通过命令“mvn package”创建新的修改后的.jar包
- 将文件从本地文件移动到 VPS 服务器中的远程文件,例如在 WinSCP/FileZilla FTP 客户端中。
- 之后必须登录SSH客户端并通过“java -jar”api.jar”安装
正如你所见,这需要很多时间。是否存在任何程序或我可以编程使其自动实现的程序?我听说过一些关于 Jenkins 的事? 你有什么建议可以节省我的时间吗:D?
非常感谢和抱歉我的英语,我知道它不够好,但我尽力了:D 西蒙娜
最佳答案
是的,可以使用jenkins来实现。 首先将代码提交到 git 存储库。 一旦你的系统上安装了 Jenkins 。 从 Jenkins 仪表板中选择新项目。 输入该商品的名称 然后选择类型,您应该选择“管道”。 在下一页中,选择定义部分中的高级项目选项,按照下面共享的示例代码创建您自己的管道脚本。
有关管道的更多信息,请访问Jenkins pipeline getting started
#!/usr/bin/env groovy
节点('主'){
try {
def mvnHome
def projectDirectoryPath
def serverPath = '/app/projects/myapp/services/'
def jarName = 'myapp-0.0.1-SNAPSHOT.jar'
stage('checkout') {
checkout([$class: 'GitSCM', branches: [[name: '*/YOURGITBRANCH']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'YOURGITCREDENTIALID', url: 'YOURGITURL']]])
mvnHome = '/usr/apache-maven-3.1.1'
projectDirectoryPath = '/app/jenkins-slave/workspace/myapp_services'
}
stage('clean') {
sh "cd '${projectDirectoryPath}' && '${mvnHome}/bin/mvn' clean"
}
stage('build') {
sh "cd '${projectDirectoryPath}' && '${mvnHome}/bin/mvn' package"
archiveArtifacts artifacts: '**/target/*.jar', fingerprint: true
}
stage('deploy') {
sshagent(['YOURAGENTID']) {
echo "the application is deploying ${jarName}"
sh "ssh -o StrictHostKeyChecking=no USER@YOURHOST ${serverPath}stop.sh"
echo "the ${jarName} is stopped"
sh "scp ${projectDirectoryPath}/target/${jarName} USER@YOURHOST:${serverPath}${jarName}"
echo "the ${jarName} is transferred successfuly"
sh "ssh -o StrictHostKeyChecking=no USER@YOURHOST sh ${serverPath}start_silent.sh"
echo "the ${jarName} is started successfuly"
}
}
}catch(e){
currentBuild.result="FAILED"
//notifyfailed()
throw e
}
}
关于java - 如何在我的 ssh 服务器上自动安装新的 jar 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60377006/