如何将jenkins配置为在同一jenkins文件中的多个节点(一个用于linux,一个用于windows)上构建?
因为我是詹金斯的新手,所以即使在网上搜索了很长时间,我似乎也找不到一个适合我情况的正确解决方案。 我在tfs中有两个存储库位置。location1具有在linux环境中执行构建所需的jenkins文件和其他文件,location2具有相同的源文件,但在windows环境中进行构建所需的jenkins文件和bat文件 现在,需要删除包含windows文件的存储库位置2,并且现在需要将其中的windows功能添加到其他存储库位置1。因此,从本质上讲,存储库需要具有能够在linux和windows上工作的Jenkins文件。我不知道该怎么办。我读到我们可以做多种配置的工作。但是我该怎么做呢 目前,我为Linux one提供的Jenkins文件如下:如何将jenkins配置为在同一jenkins文件中的多个节点(一个用于linux,一个用于windows)上构建?,linux,windows,jenkins,Linux,Windows,Jenkins,因为我是詹金斯的新手,所以即使在网上搜索了很长时间,我似乎也找不到一个适合我情况的正确解决方案。 我在tfs中有两个存储库位置。location1具有在linux环境中执行构建所需的jenkins文件和其他文件,location2具有相同的源文件,但在windows环境中进行构建所需的jenkins文件和bat文件 现在,需要删除包含windows文件的存储库位置2,并且现在需要将其中的windows功能添加到其他存储库位置1。因此,从本质上讲,存储库需要具有能够在linux和windows上工
node('CentOs_Build_server)
{
stage('checkout')
{
checkout scm
}
stage('clean workspace')
{
sh '''
git clean -fdx
'''
}
stage('dependencies')
{
}
stage('build')
{
}
stage('archive artifacts')
{
archiveArtifacts 'build/*.rpm'
}
catch (err) {
currentBuild.result = "FAILURE"
echo "project build error: ${err}"
throw err
}
}
node master
ws('D:\\Jenkins_Workspace\\OpcUaFramework_Latest')
{currentBuild.result = "SUCCESS"
try {
stage('checkout')
{
checkout scm
}
stage('clean workspace')
{
bat '''
git clean -fdx
'''
}
stage('build')
{
bat '''
" INSTALL.vcxproj /p:Configuration=Debug
rem MSBuild }
stage('archive artifacts')
{
archiveArtifacts '**/*.msi, **/*.zip'
}
catch (err)
{
currentBuild.result = "FAILURE"
echo "project build error: ${err}"
throw err
}
}
}
windows的jenkins文件如下所示:
node('CentOs_Build_server)
{
stage('checkout')
{
checkout scm
}
stage('clean workspace')
{
sh '''
git clean -fdx
'''
}
stage('dependencies')
{
}
stage('build')
{
}
stage('archive artifacts')
{
archiveArtifacts 'build/*.rpm'
}
catch (err) {
currentBuild.result = "FAILURE"
echo "project build error: ${err}"
throw err
}
}
node master
ws('D:\\Jenkins_Workspace\\OpcUaFramework_Latest')
{currentBuild.result = "SUCCESS"
try {
stage('checkout')
{
checkout scm
}
stage('clean workspace')
{
bat '''
git clean -fdx
'''
}
stage('build')
{
bat '''
" INSTALL.vcxproj /p:Configuration=Debug
rem MSBuild }
stage('archive artifacts')
{
archiveArtifacts '**/*.msi, **/*.zip'
}
catch (err)
{
currentBuild.result = "FAILURE"
echo "project build error: ${err}"
throw err
}
}
}
我对这一切真的不是很有经验。如果有人能告诉你新的詹金斯档案应该是什么样子,那就太好了
编辑:我应该使用多配置项目还是自由式项目也可以用于并行构建运行 下面是一个简单的示例,将使用同一个Jenkins文件在两个不同的节点上并行运行两个构建:
parallel (
"Linux": {
node('Linux')
{
# build steps
}
},
"Windows": {
node('Windows')
{
# build steps
}
}
)
节点步骤选择已配置了正确标签的节点
这可以在每个节点的节点配置屏幕中设置
管道构建不是自由式作业。
多分支管道是关于构建存储库的多个分支,而不是构建所需的配置。您发布的代码似乎比您的问题合理的代码要多。请阅读并了解如何制作,提供MCVE帮助用户回答您的问题,以及未来用户与您的问题相关。感谢您的回答。请你帮我回答问题的第二部分好吗?