Jenkins C++ build chain
Jenkins C++ build chain
我正在进行一个c++项目,我必须设置jenkins slave。我的项目有3个不同的目录(构建脚本、Mylibrary、MyApplication),每个目录都是一个git存储库。
node {
stage ('Checkout'){
checkout([$class: 'GitSCM',
branches: [[name: '*/devel_dimant']],
doGenerateSubmoduleConfigurations: false,
extensions: [[$class: 'RelativeTargetDirectory',
relativeTargetDir: 'build_scripts']],
submoduleCfg: [],
userRemoteConfigs: [[url: 'file:///home/antonio/Projects/Azalea/rc_octo_cmn_build']]
])
checkout([$class: 'GitSCM',
branches: [[name: '*/devel_dimant']],
doGenerateSubmoduleConfigurations: false,
extensions: [[$class: 'RelativeTargetDirectory',
relativeTargetDir: 'liboctopus']],
submoduleCfg: [],
userRemoteConfigs: [[url: 'file:///home/antonio/Projects/Azalea/rc_octo_cmn_core']]
])
checkout([$class: 'GitSCM',
branches: [[name: '*/devel_dimant']],
doGenerateSubmoduleConfigurations: false,
extensions: [[$class: 'RelativeTargetDirectory',
relativeTargetDir: 'gateway_daemon']],
submoduleCfg: [],
userRemoteConfigs: [[url: 'file:///home/antonio/Projects/Azalea/rc_gtw_octogtwd']]
])
}
stage ('Build liboctopus'){
dir("liboctopus"){
sh ('./../build_scripts/octo_build.sh')
}
dir('liboctopus/release/HOST'){
sh('ls')
}
}
stage ('Build gateway_daemon'){
dir("gateway_daemon"){
sh ('./../build_scripts/octo_build.sh')
}
}
这是我的管道,当我试图在阶段构建守护进程中编译Myapplication时,gcc失败:
正在构建应用程序"release/HOST/octgtwd",版本=="0.0.1",构建配置=="release"g++-o版本/HOST/octogtwd版本/HOST/configuration_handler.opp发布/HOST/gtw_logger.opp发布[HOST/main.opp-Wl,-rpath=/opt/OctopusIoT/lib-phread-rdynamic-Wl,-pie-L/liboctopos/release/HOST-lrt-lpthread-lsystemd-lotopus-ljson-c/usr/bin/ld:impossibile trovare-locatopuscollect2:错误:ld返回1退出状态make:***[Makefile:74:release/HOST/octgtwd]错误1
我已经在jenkins目录中创建了指向库的符号链接:
liboctopus-0.1.0.a
liboctopus.so
liboctopus.so.0
liboctopus.so.0.1.0
项目在HOST计算机上编译(相对路径工作)。不是詹金斯。
在这种情况下,您需要将作业拆分为3个作业(构建脚本、Mylibrary、MyApplication),并使用复制工件插件将工件从一个作业复制到另一个作业。示例:
node {
// setup env..
// copy the deployment unit from another Job...
step ([$class: 'CopyArtifact',
projectName: 'webapp_build',
filter: 'target/orders.war']);
// deploy 'target/orders.war' to an app host
}
我找到了这个链接。
相关文章:
- 如何使用ndk-build.cmd构建Android.so文件
- CMake "--target install"无需"--build"命令行
- 库标题在标题中不可见,但在 cmake build 下.cpp文件中完全可见.为什么?
- Android Studio:如何在build.gradle中定义自定义宏(针对不同的构建变体),并让原生C / C++
- 加载"D:UsersPublicDocumentsopencvbuildx64vc14binopencv_world340d.dll",找不到或打开PDB文件
- meson-build:wxWidgets 资源文件,用于 Windows 未构建
- 为 g++ build 设置超时,为 Sublime Text 运行?
- build error : undefined reference to `yyFlexLexer::yyFlexLex
- 如何使cmake输出到"build"目录?
- 使用Bazel C++教程;build不创建/使用共享库
- Android NDK.Build命令失败.未定义的引用.clang++:错误:链接器命令失败,退出代码为1
- "Build succeeded"但"The breakpoint will not currently be hit"
- 在c++中的复制构造函数/一个声明语句中的初始化的延续中使用chain方法
- build命令失败,外部原生问题android工作室
- Android Studio External Native Build 预编译标头
- /usr/bin/ld: build-debug/obj/gpsitem.o: 文件无法识别: 文件被截断
- Build Boost Regex for Windows VS2013
- 指定 go build 的 C++ 版本
- "ndk-build finish with non-zero exit value 2" 在编译文本仙女项目时
- Jenkins C++ build chain