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 ファイルを見つけました (SConscript ファイルの読み取りのみを表示する以外に)。あなたのログが示しているのは、デフォルトの SCons ターゲットが構築しなければならなかったものはすべて既に構築されているということです。これはおそらく、以前にこのジョブを構築し、それ以降ソース ファイルが変更されていないためです。

Jenkins でWorkspace > Wipe Out Current Workspaceを試し、このジョブを再度ビルドします ( Build Now )。新しいビルドのログ ファイルには、完全な SCons ビルド シーケンスが表示される必要があります。

良いことは、ターゲットの前にscons -c( Options = ) を使用してビルドステップを追加して、後で完全に再構築することです。-cscons

于 2013-10-19T16:29:03.247 に答える
0

シェル スクリプトを追加します。

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

于 2021-02-06T04:21:20.643 に答える