0

我正在尝试使用在 ubuntu 机器上运行的 jenkins 上的 scons 构建我的 C++ 项目(仅运行一个主服务器)。

我已经使用 apt-get 从命令行安装了scons 并安装了 Jenkins Scons 插件: 在主配置中,我配置了 scons 二进制文件的路径:

在此处输入图像描述

在工作配置(自由式项目)中,我有:

在此处输入图像描述

当我运行构建时,我得到:

Building in workspace /var/lib/jenkins/workspace/my-project
Checkout:my-project / /var/lib/jenkins/workspace/my-project - hudson.remoting.LocalChannel@5d56ead7
Using strategy: Default
Last Built Revision: Revision d919f00fb2e59ce1214e276e6c60e834d4035d5b (origin/master)
Fetching changes from 1 remote Git repository
Fetching upstream changes from origin
Commencing build of Revision d919f00fb2e59ce1214e276e6c60e834d4035d5b (origin/master)
Checking out Revision d919f00fb2e59ce1214e276e6c60e834d4035d5b (origin/master)
[my-project] $ /usr/bin/scons -f scons9080484787377372778.generated -C my-project
scons: Entering directory `/var/lib/jenkins/workspace/my-project'
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
scons: `.' is up to date.
scons: done building targets.
Finished: SUCCESS

但这是不正确的。有什么想法为什么不读取/构建位于工作区根目录中的项目/SConstruct?

4

2 回答 2

0

u123,

SCons 找到了您的 SConstruct 文件(除了只显示Reading SConscript files)。您的日志显示的是默认 SCons 目标必须构建的所有内容都已构建,可能是因为您之前构建了此作业,并且此后没有更改任何源文件。

在 Jenkins 中尝试Workspace > Wipe Out Current Workspace并再次构建此作业(立即构建)。新构建的日志文件必须显示完整的 SCons 构建序列。

一件好事是在您的目标之前添加一个带有scons -c( Options = -c)的构建步骤,scons以便在之后清理并强制进行完全重建。

于 2013-10-19T16:29:03.247 回答
0

我添加了 shell 脚本:

first_is_success=`echo $?`
echo $first_is_success
if [ $first_is_success -ne 0 ]
then 
    exit 1
fi

于 2021-02-06T04:21:20.643 回答