Дженкинс не может скопировать файл с fileExists в несколько каталогов - PullRequest
0 голосов
/ 15 января 2020

У меня есть файл в диспетчере учетных данных Jenkins, который я хотел бы скопировать в несколько каталогов, если эта папка существует.

Однако команда fileExists, похоже, работает только с одной папкой, но без других. Я пробовал все, используя файловые команды Java, используя абсолютный путь, и мне кажется, что ничего не работает.

Я пытался указывать переменные среды на том же уровне, что и каталог для проверки, и внутри В каталоге ничего не работает.

dir("${DIRECTORY_PATH_NO_SPACES}"){
                    //checks to see if the folder in harris-gallery exists 
                    script {
                        if (fileExists("/project1"))
                        {
                            withCredentials([file(credentialsId: "${KEYSTORE_PROPERTIES_FILE_ID}", variable: 'FILE')]) {
                                bat("copy /y $FILE keystore.properties")
                            }
                        }
                    }
                }

                dir("${WORKSPACE_PATH_NO_SPACES}"){
                    //checks to see if the folder in project2 exists      
                    script {
                        if (fileExists("/project2"))
                        {
                            withCredentials([file(credentialsId: "${KEYSTORE_PROPERTIES_FILE_ID}", variable: 'FILE')]) {
                                bat("copy /y $FILE keystore.properties")
                            }
                            bat("echo test")
                        }
                    }

                }


                dir("${DIRECTORY_PATH_NO_SPACES_project2_PROTOCOL}"){
                    //checks to see if the folder in project2 protocol exists  
                    script {
                        if (fileExists("/project3"))
                        {
                            withCredentials([file(credentialsId: "${KEYSTORE_PROPERTIES_FILE_ID}", variable: 'FILE')]) {
                                bat("copy /y $FILE keystore.properties")
                            }
                        }
                    }

                }
            }

1 Ответ

1 голос
/ 15 января 2020

Мне кажется, что вы пытаетесь проверить, существует ли ${DIRECTORY_PATH_NO_SPACES}/project1, но на самом деле проверяете, существует ли /project1 на root машины, а не на DIRECTORY_PATH_NO_SPACES.

I будет пытаться проверить полный путь "/ $ {DIRECTORY_PATH_NO_SPACES} / project1"

Наконец, вы можете использовать простой пакет здесь

                dir("${DIRECTORY_PATH_NO_SPACES}"){
                    //checks to see if the folder in harris-gallery exists 
                    script {
                            withCredentials([file(credentialsId: "${KEYSTORE_PROPERTIES_FILE_ID}", variable: 'FILE')]) {
                                bat("if exist /project1 copy /y $FILE keystore.properties")
                            }
                        }
                }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...