简而言之,如何使用 jenkins 或其他工具获得自动构建服务器,以使用 MSBuild 构建多个 Delphi 项目?
我目前是一家公司的实习生。我设法找到了一个解决方案来迁移和更改旧的 SCM 软件:PVCS 到 SVN。但他们使用旧的 shell 脚本和 Cygwin 来构建,并带有多个选项来编译/发布所有或某些 Delphi 项目并生成 DLL 和 EXE。我想首先使用 Jenkins 尝试重现相同的机制,但我不确定这是处理这个问题的最佳方法。我尝试过设置自由式作业和多分支管道。第一个可以构建一个项目,但后者不成功,我不知道groovy...
我对持续集成的测试部分不感兴趣,我只想为几个 Delphi 项目进行自动构建。 我不知道如何处理这个问题。也许最好的方法是像有delphi的项目一样多地做jenkins的工作?但事后如何控制呢? 我已经阅读过有关 Maven 和 Ant 的内容,但我不确定它是否与我的情况相关。
欢迎任何建议
最佳答案
您可以创建简单的作业“自由式作业”
或“管道”
。管道更强大,但如果您刚开始的话会更复杂。
您可以首先为每个项目创建一个作业。然后您可以使用不同的 Jenkins 选项链接项目。当一个作业完成时,另一个作业开始。请参阅下图。
您还可以用来编译现有的 plugin for existing RAD Studio for Jenkins 。在“自由式工作”
中使用它。
另一个选择是使用管道,但您应该了解一些有关 Groovy 的知识。 例如,一个包含多个步骤的简单管道如下所示:
pipeline {
agent any
stages {
stage('Stage: Show message Hola Mundo') {
steps {
echo 'Paso 1. Hola Mundo'
}
}
stage('Download source from GIT') {
steps {
echo 'Downloading...'
git([url: 'https://XXX_repository_xxxx.git/gitProject', branch: 'master', credentialsId: 'a234234a-344e-2344-9440-423444xxxxxx'])
}
}
stage('Executing MSDOS file (BAT)') {
steps {
echo '-- Sample Executing BAT file'
bat '"c:\\Program Files (x86)\\Embarcadero\\Studio\\19.0\\bin\\rsvars.bat"'
}
}
stage('MSBuild a Delphi project') {
steps {
println("************ EXECUTING MSBUILD ******************")
echo '-- Lanzar la ejecución de rsVars ---------'
bat '"c:\\Program Files (x86)\\Embarcadero\\Studio\\19.0\\bin\\rsvars.bat"'
echo '-- MSBuils del proyecto TestLauncher -------'
bat '"c:\\local\\AutomaticTestsProject\\compilar.bat"'
}
}
stage('Execute a test project (EXE)') {
steps {
bat 'c:\\local\\AutomaticTestsProject\\BIN\\AutomaticTestsProject.exe'
}
}
stage('Send emeil') {
steps {
emailext (
subject: "Job '${env.JOB_NAME} ${env.BUILD_NUMBER}'",
body: """<p>Check console output at <a href="${env.BUILD_URL}">${env.JOB_NAME}</a></p>""",
to: "destinatary@hotmail.com",
from: "JenkinsMachine@mail.com" )
}
}
}
}
关于delphi - 如何使用 jenkins 为 Delphi 中的项目获得自动化构建服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58835614/