Jenkins ошибка не найдена сборочная директория

I have a maven multi modules project.
I create a pipeline to clean and deploy my project.
When I run the pipeline I got the following output :

``Started by user XXXXX
Checking out git http://XXXX:9080/gara/gara-back-end.git into /var/jenkins_home/workspace/gara-bo@script to read Jenkinsfile
using credential XXXXXXXXXXX
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url http://XXXXXXX:9080/gara/gara-back-end.git # timeout=10
Fetching upstream changes from http://XXXXX:9080/gara/gara-back-end.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials 
 > git fetch --tags --force --progress http://XXXXXX:9080/gara/gara-back-end.git +refs/heads/*:refs/remotes/origin/*
 > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
 > git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision c717022003b698421698238b13e1909f555172a0 (refs/remotes/origin/master)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f XXXXXXXXXXXXXXX
Commit message: "Update  Jenkinsfile"
 > git rev-list --no-walk 7XXXXXXXXXXXXXXXXXXXXXXX # timeout=10
ERROR: /var/jenkins_home/workspace/gara-bo@script/Jenkinsfile not found
Finished: FAILURE``

Why the project is checked out under gara-bo@script instead of gara-bo ?
On the server, I have two folders : gara-bo and gara-bo@script

``gara-bo contains : Jenkinsfile  pom.xml  src  target  WEB-INF
gara-bo@script : gara-common  gara-dao  gara-model  gara-service  gara-web   JenkinsFile  pom.xml``

but file in the gara-bo@script are just symbolic link because when I try to read the content of JenkinsFile under gara-bo@script it is impossible.

Do you know, how could I correct it please ?

Permalink

Cannot retrieve contributors at this time


This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters

Show hidden characters

# The MIT License
#
# Copyright (c) 2004-2009, Sun Microsystems, Inc., Kohsuke Kawaguchi, Mike Salnikov
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the «Software»), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED «AS IS», WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
Error: no workspace=Ошибка: не найдена сборочная директория
A project won’t have any workspace until at least one build is performed.=
Проект не будет иметь сборочную директорию, пока хотя бы одна сборка не будет запущена.
There»s no workspace for this project. Possible reasons are:=
Сборочная директория для данного проекта отсутствует. Возможные причины:
The project was renamed recently and no build was done under the new name.=
Проект был недавно переименован и сборок под новым именем еще не было.
li3=Сборочная директория ({0}) была удалена из рабочего каталога Jenkins.
text=<a href=»{0}/{1}build»>Запустите сборку</a>, чтобы позволить Jenkins создать сборочную директорию.
The agent this project has run on for the last time was removed.=
Агент, на котором этот проект был последний раз запущен, удалён.
The workspace was wiped out and no build has been done since then.=
Сборочная директория была очищена, и сборок больше не было.

I would like Jenkins’ data to be written to drive «E:» since this is the large drive on the server. Jenkins itself is installed on «C:».

How do I do that?

The default configuration that I saw is:

Workspace Root Directory: ${ITEM_ROOTDIR}/workspace
Build Record Root Directory: ${ITEM_ROOTDIR}/builds

Will the following changes help me achieve what I need?

Workspace Root Directory: E:/Jenkins/workspace
Build Record Root Directory: E:/Jenkins/builds/${ITEM_FULL_NAME}

In addition, what does «${ITEM_FULL_NAME}» mean?

Uwe Keim's user avatar

Uwe Keim

39.3k56 gold badges174 silver badges291 bronze badges

asked Jan 18, 2016 at 12:05

Yaniv Ofer's user avatar

0

I figured it out.
In order to save your Jenkins data on other drive you’ll need to do the following:

Workspace Root Directory: E:Jenkins${ITEM_FULL_NAME}workspace
Build Record Root Directory: E:Jenkins${ITEM_FULL_NAME}builds

Change Directory

CodeNotFound's user avatar

CodeNotFound

21.9k10 gold badges67 silver badges69 bronze badges

answered Jan 21, 2016 at 8:18

Yaniv Ofer's user avatar

Yaniv OferYaniv Ofer

1,1212 gold badges9 silver badges12 bronze badges

3

You can modify the path on the config.xml file in the default directory

<projectNamingStrategy class="jenkins.model.ProjectNamingStrategy$DefaultProjectNamingStrategy"/>
<workspaceDir>D:/Workspace/${ITEM_FULL_NAME}</workspaceDir>
<buildsDir>D:/Logs/${ITEM_ROOTDIR}/Build</buildsDir>

Darwyn's user avatar

Darwyn

4,6863 gold badges25 silver badges26 bronze badges

answered Jul 18, 2018 at 6:17

adil ameen's user avatar

adil ameenadil ameen

4194 silver badges3 bronze badges

1

EDIT: Per other comments, the «Advanced…» button appears to have been removed in more recent versions of Jenkins. If your version doesn’t have it, see knorx’s answer.

I had the same problem, and even after finding this old pull request I still had trouble finding where to specify the Workspace Root Directory or Build Record Root Directory at the system level, versus specifying a custom workspace for each job.

To set these:

  1. Navigate to Jenkins -> Manage Jenkins -> Configure System
  2. Right at the top, under Home directory, click the Advanced... button:
    advanced button under Home directory
  3. Now the fields for Workspace Root Directory and Build Record Root Directory appear:
    additional directory options
  4. The information that appears if you click the help bubbles to the left of each option is very instructive. In particular (from the Workspace Root Directory help):

    This value may include the following variables:

    • ${JENKINS_HOME} — Absolute path of the Jenkins home directory
    • ${ITEM_ROOTDIR} — Absolute path of the directory where Jenkins stores the configuration and related metadata for a given job
    • ${ITEM_FULL_NAME} — The full name of a given job, which may be slash-separated, e.g. foo/bar for the job bar in folder foo

    The value should normally include ${ITEM_ROOTDIR} or ${ITEM_FULL_NAME}, otherwise different jobs will end up sharing the same workspace.

answered May 30, 2017 at 19:23

c32hedge's user avatar

c32hedgec32hedge

77510 silver badges19 bronze badges

4

The variables you need are explained here in the jenkins wiki: https://wiki.jenkins.io/display/JENKINS/Features+controlled+by+system+properties

The default variable ITEM_ROOTDIR points to a directory inside the jenkins installation. As you already found out you need:

  • Workspace Root Directory:
    E:/myJenkinsRootFolderOnE/${ITEM_FULL_NAME}/workspace
  • Build Record Root Directory: E:/myJenkinsRootFolderOnE/${ITEM_FULL_NAME}/builds

You need to achieve this through config.xml nowadays. Citing from the wiki page linked above:

This used to be a UI setting, but was removed in 2.119 as it did not
support migration of existing build records and could lead to
build-related errors until restart.

SiHa's user avatar

SiHa

7,65313 gold badges33 silver badges41 bronze badges

answered Aug 23, 2018 at 15:13

knorx's user avatar

knorxknorx

2913 silver badges6 bronze badges

I would suggest editing the /etc/default/jenkins

vi /etc/default/jenkins

And changing the $JENKINS_HOME variable (around line 23) to

JENKINS_HOME=/home/jenkins

Then restart the Jenkins with usual

/etc/init.d/jenkins start

Cheers!

answered Jan 26, 2019 at 12:57

Kathan Shah's user avatar

Kathan ShahKathan Shah

1,64516 silver badges25 bronze badges

1

You can also edit the config.xml file in your JENKINS_HOME directory.
Use c32hedge’s response as a reference and set the workspace location to whatever you want between the tags

answered Aug 17, 2018 at 1:45

Arier's user avatar

ArierArier

2952 silver badges6 bronze badges

By default, Jenkins stores all of its data in this directory on the file system.

There are a few ways to change the Jenkins home directory:

  • Edit the JENKINS_HOME variable in your Jenkins configuration file (e.g. /etc/sysconfig/jenkins on Red Hat Linux).
  • Use your web container’s admin tool to set the JENKINS_HOME environment variable.
  • Set the environment variable JENKINS_HOME before launching your web container, or before launching Jenkins directly from the WAR file.
  • Set the JENKINS_HOME Java system property when launching your web container, or when launching Jenkins directly from the WAR file.
  • Modify web.xml in jenkins.war (or its expanded image in your web container). This is not recommended.
    This value cannot be changed while Jenkins is running.
    It is shown here to help you ensure that your configuration is taking effect.

Ahmed Ashour's user avatar

Ahmed Ashour

5,02910 gold badges35 silver badges54 bronze badges

answered Dec 20, 2018 at 6:47

Pravin Bansal's user avatar

Pravin BansalPravin Bansal

4,1811 gold badge27 silver badges19 bronze badges

If you go into Configure under Home there is a «Help» note on how to:

Home directory /var/lib/jenkins Help for feature: Home directory

By default, Jenkins stores all of its data in this directory on the file system.

There are a few ways to change the Jenkins home directory:

Edit the JENKINS_HOME variable in your Jenkins configuration file (e.g. /etc/sysconfig/jenkins on Red Hat Linux).
Use your web container's admin tool to set the JENKINS_HOME environment variable.
Set the environment variable JENKINS_HOME before launching your web container, or before launching Jenkins directly from the WAR file.
Set the JENKINS_HOME Java system property when launching your web container, or when launching Jenkins directly from the WAR file.
Modify web.xml in jenkins.war (or its expanded image in your web container). This is not recommended. 

This value cannot be changed while Jenkins is running.
It is shown here to help you ensure that your configuration is taking effect.

answered Feb 22, 2019 at 15:56

Jorduino's user avatar

JorduinoJorduino

611 silver badge7 bronze badges

def finder = new FileNameFinder()
def files = finder.getFileNames '\pkg\stage\', '*.sln'
echo "$files"

jenkins is serching file in /var/lib/jenkins/pkg/stage
it is automatically adding /var/lib/jenkins path before

vimuth's user avatar

vimuth

4,93330 gold badges78 silver badges115 bronze badges

answered Aug 5, 2022 at 12:47

Sanjay Kumar's user avatar

Trying to build a branch in Jenkins. Build fails with
«ENOENT, no such file or directory ‘C:Program Files (x86)Jenkinsjobsgrunt-minify-concat Buildworkspace1419346881831»

grunt-minify-concat is a branch of the project where we’ve added a few lines to Grunt, adding a task for CSS/JS concatenation and minification. Very standard stuff. Here are the relevant bits of the Grunt files:

Gruntfile.js:

JavaScript

    cssmin: {
      dist: {
        expand: true,
        cwd: 'MySite.Web/css/',
        src: ['*.css', '!*.min.css'],
        dest: 'MySite.Web/css/',
        ext: '.min.css'
      }
    },
    
    min: {
      dist : {
        expand: true,
        cwd: 'MySite.Web/',
        src : [
          'js/*.js',
          'scripts/*.js',
          '!js/*.min.js',
          '!scripts/*.min.js',
          '!js/jquery*.js',
          '!scripts/jquery*.js'
        ],
        dest : 'MySite.Web/js/',
        ext: '.min.js'
      }
    }

    
  grunt.loadNpmTasks('grunt-contrib-watch');
  grunt.loadNpmTasks('grunt-contrib-copy');
  grunt.loadNpmTasks('grunt-exec');

  grunt.loadNpmTasks('grunt-sass');
  
  grunt.loadNpmTasks('grunt-yui-compressor');
  grunt.loadNpmTasks('grunt-contrib-concat');
  
  grunt.loadNpmTasks('grunt-msbuild');
  
  grunt.registerTask('build', ['sass', 'cssmin', 'min' , 'msbuild:sln', 'copy:libraryDll']);

  grunt.registerTask('buildserver', ['version', 'build', 'tag', 'push', 'output']);

  grunt.registerTask('default', ['build']);

JavaScript

"devDependencies": {
		"node-sass": "~0.8.1",
		"grunt": "~0.4.1",
		"grunt-contrib-watch": "~0.5.3",
		"grunt-sass": "~0.10.0",
		"grunt-yui-compressor": "0.1.1",
                "grunt-contrib-concat": "0.1.3",
		"grunt-exec": "~0.4.3",
		"grunt-msbuild": "~0.1.9",
		"grunt-contrib-copy": "~0.5.0"
	},

Any idea what is going on here?

automated-testing.info

Загрузка…

  • testomat.io управление авто тестами
  • Python
  • Реклама
  • Работа
  • Консультации
  • Обучение

Мне интересно, есть ли способ получить файлы в результате сборки Jenkins.

Я настраиваю Jenkins для создания сборки, поэтому он успешно извлекает мой gitlab, а затем компилирует мой проект. Значит, мои файлы и результат компиляции должны где-то храниться?

Единственные файлы, которые я мог видеть в последней сборке для моего каталога заданий, это:

  • build.xml
  • changelog.xml
  • журнал

Спасибо за вашу помощь, очень ценю это!

Томас

3 ответа

Лучший ответ

В рабочей области будет сохранена последняя сборка, наследие будет храниться в главном подчиненном устройстве jenkins под

$JENKINS_HOME/yourjobname/builds/yourbuildernumer

Br,

Тим


7

Tim
25 Авг 2016 в 09:21

Вы можете получить файлы сборки jenkins: /var/lib/jenkins/jobs/<yourjobname> builds


0

Khushi
15 Апр 2020 в 22:30

Вы можете найти это под

jenkins_home/jobs/YourProjectName/builds


1

Terefe
13 Окт 2017 в 12:32

введите сюда описание изображенияВсем привет! Поставил локально дженкинс, сделал джобу. Все отрабатывает корректно, но не пойму, в какой директории дженкинс собирает проект?

Ответы (1 шт):

введите сюда описание изображения

По итогу выяснил, что дирректория отображается в логах билда

→ Ссылка

Когда я пытаюсь создать проект андроида, сборка завершится неудачно со следующим сообщением:

Started by user admin
Building in workspace /Users/Shared/Jenkins/Home/workspace/stable-dev
[Gradle] - Launching build.

FATAL: The Gradle wrapper has not been found in these directories:   
/Users/admin/Downloads/android_stable_dev, 
/Users/Shared/Jenkins/Home/workspace/stable-dev

Build step 'Invoke Gradle script' marked build as failure
Finished: FAILURE

Конфигурации, которые я использовал:

  • Use Gradle Wrapper
  • build File: /Users/admin/Downloads/android_stable_dev/build.gradle

Я попробовал заполнить /Users/admin/Downloads/android_stable_dev/gradlew, /Users/admin/Downloads/android_stable_dev/gradle/wrapper/, /Users/admin/Downloads/android_stable_dev/gradle/ и т.д. в поле Wrapper location в конфигурации. Все еще не работает (все эти файлы есть).

Я использую jenkins-2.47.pkg

23 фев. 2017, в 12:40

Поделиться

Источник

3 ответа

Вам нужно только указать расположение родительской папки в градиенте и build.gradle, а не в файлах. Итак, в вашем случае

Root Build script: /Users/admin/Downloads/android_stable_dev
Wrapper Location: /Users/admin/Downloads/android_stable_dev

Это упоминается в справке (нажмите «рядом» с параметрами Wrapper Location и Root Build script), но я тоже нашел это, внимательно прочитав его несколько раз

Piyush Khera
08 июль 2017, в 19:20

Поделиться

Если вы не получили правильный путь к файлу в Jenkins из вашей оболочки gradle, вы можете установить это с помощью команды cd и запустить определенную задачу, как показано ниже.

cd ${WORKSPACE}/Android/YOUR_CODE_FOLDER
./gradlew clean assembleDebug

Punit Sharma
23 фев. 2017, в 13:17

Поделиться

Проблема была, как я подозревал, разрешениями. После того, как я установил необходимые разрешения, все стало работать.

ranjjose
23 фев. 2017, в 18:31

Поделиться

Ещё вопросы

  • 1SSL не работает на Android 2.2 (только в 2.3)
  • 1Интерактивные статические изображения боке
  • 0SQLSTATE [HY000]: общая ошибка: 1364 Поле ‘name’ не имеет значения по умолчанию laravel 5.5
  • 0Как игнорировать файлы с заданным префиксом?
  • 1текст Jlabel становится обрезанным при печати
  • 1Основной конец этой ассоциации должен быть явно настроен
  • 1Tkinter: список флажков не отвечает
  • 1java.net.ProtocolException: метод не поддерживает тело запроса: GET
  • 0Макет Dojo, абсолютная позиция
  • 1сохранить несколько каталогов изображений в одном файле после предварительной обработки
  • 1Angular 2 ngStyle не может связать начало семейства шрифтов с числом
  • 0Не могу понять, почему SQL Query не дает мне правильный ответ
  • 0jQuery UI Sortable — Странное поведение — элементы, падающие с вершины окна при движении
  • 0Изменение метатега в окне просмотра iOS 7
  • 0Возврат и передача массива для работы в C ++
  • 0Есть ли способ избежать # для осады?
  • 0memset устанавливает случайные значения [дубликаты]
  • 1quickbooks api v3 IdsQuery
  • 0G ++ с Mountain Lion поддерживает -msse4.2?
  • 0Ошибки PEAR в отдельном всплывающем окне
  • 0объединить 2 sql запрос местоположения и средний рейтинг
  • 1Не удалось подписать apk, показывая ошибку следующим образом
  • 1Читать значения из узлов XML?
  • 0Как сделать текстовое поле одинаковой ширины для всех браузеров
  • 1Использование основанного на отражении статического вызова вместо интерфейсов
  • 1конвертировать double в строку и показывать десятичные значения только в случае необходимости [duplicate]
  • 0Timepicker не может отображаться с DatePicker на HTML
  • 0Непоследовательное поведение jQuery each () с необъяснимым исправлением
  • 0Как получить текстовое значение в HTML-форме? текстовое значение используется для перехода на следующую страницу
  • 0PHP Framework Zend не работает
  • 0Протрите все таблицы в схеме — sequelize nodejs
  • 0Правильное использование YouTube URL Regex
  • 0Dygraphs: Свернуть / скрыть часть диапазона дат по оси X
  • 0$ save экземпляра $ save () стирает свойства
  • 0Ошибка подтверждения mfc при попытке создать страницу свойств
  • 1Javascript извлечь регулярное выражение из строки
  • 0Как искать каталоги только на главной странице magento
  • 0JQuery автозаполнение: я не вижу предложения
  • 1Java SE Truth API Morena7
  • 0PHP imap — получать сообщения, полученные за последний час
  • 0совместное использование объекта через контроллеры angularjs с помощью сервиса
  • 1преобразование строковых значений .csv в double
  • 1Как я мог узнать, какое количество потоков использует конкретный диспетчер сопрограмм?
  • 0Javascript или Jquery, которые позволят мне добавить кнопку «Сохранить эту страницу как»
  • 0Запускать C ++ Project main () несколько раз в Visual Studio?
  • 1double.ToString («G»), но всегда включать точку?
  • 0Как добавить проверку на стороне клиента зависимого ввода с использованием JavaScript и rails?
  • 0Удаление объекта в AngularJS
  • 1В фляге, как я могу изменить HTML с кодом в Python?
  • 1как исправить E / RecyclerView: адаптер не подключен; проблема с пропуском макета

Сообщество Overcoder

Понравилась статья? Поделить с друзьями:
  • Jeep grand cherokee wj ошибки климата
  • Joomla ошибки при установки шаблона
  • Joomla ошибка подключения к smtp
  • Jeep grand cherokee wj ошибка p0158
  • Joomla ошибка загрузки пакета обновления