From 22ba90cc82885e25db1ddfd8172cdaa9dfce5b6a Mon Sep 17 00:00:00 2001 From: citatedelict Date: Sat, 22 Jun 2024 19:28:49 -0700 Subject: [PATCH 01/25] added jenkinsfile --- Jenkinsfile | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 00000000..e8868f8c --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,30 @@ +pipeline { + agent any + + stages { + + stage("Initial cleanup") { + steps { + dir("${WORKSPACE}") { + deleteDir() + } + } + } + + stage('Checkout SCM') { + steps { + git branch: 'main', url: 'https://github.com/citadelict/php-todo.git' + } + } + + stage('Prepare Dependencies') { + steps { + sh 'mv .env.sample .env' + sh 'composer install' + sh 'php artisan migrate' + sh 'php artisan db:seed' + sh 'php artisan key:generate' + } + } + } +} \ No newline at end of file From c11f61542c1c06e6851899e19a2019888082c04f Mon Sep 17 00:00:00 2001 From: citatedelict Date: Sat, 22 Jun 2024 20:07:58 -0700 Subject: [PATCH 02/25] new env file --- .env.sample | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .env.sample diff --git a/.env.sample b/.env.sample new file mode 100644 index 00000000..5e9bbbf7 --- /dev/null +++ b/.env.sample @@ -0,0 +1,24 @@ +APP_ENV=local +APP_DEBUG=true +APP_KEY=SomeRandomString +APP_URL=http://localhost + +DB_HOST=172.31.24.250 +DB_DATABASE=homestead +DB_USERNAME=homestead +DB_PASSWORD=sePret^i + +CACHE_DRIVER=file +SESSION_DRIVER=file +QUEUE_DRIVER=sync + +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +MAIL_DRIVER=smtp +MAIL_HOST=mailtrap.io +MAIL_PORT=2525 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null \ No newline at end of file From 1ad300738104e5f85e47245acf4993c3ed57e93d Mon Sep 17 00:00:00 2001 From: citatedelict Date: Sat, 22 Jun 2024 20:21:04 -0700 Subject: [PATCH 03/25] updated jenkinsfile --- Jenkinsfile | 50 ++++++++++++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index e8868f8c..56811359 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,30 +1,36 @@ pipeline { agent any - stages { + stages { - stage("Initial cleanup") { - steps { - dir("${WORKSPACE}") { - deleteDir() + stage("Initial cleanup") { + steps { + dir("${WORKSPACE}") { + deleteDir() + } + } + } + + stage('Checkout SCM') { + steps { + git branch: 'main', url: 'https://github.com/citadelict/php-todo.git' } - } } - - stage('Checkout SCM') { - steps { - git branch: 'main', url: 'https://github.com/citadelict/php-todo.git' - } - } - stage('Prepare Dependencies') { - steps { - sh 'mv .env.sample .env' - sh 'composer install' - sh 'php artisan migrate' - sh 'php artisan db:seed' - sh 'php artisan key:generate' - } + stage('Prepare Dependencies') { + steps { + sh 'mv .env.sample .env' + sh 'composer install' + sh 'php artisan migrate' + sh 'php artisan db:seed' + sh 'php artisan key:generate' + } + } + + stage('Execute Unit Tests') { + steps { + sh './vendor/bin/phpunit' + } + } } - } -} \ No newline at end of file +} From 8bb96286f6be4d69423ee4fbe6e02b5f1596f461 Mon Sep 17 00:00:00 2001 From: citatedelict Date: Sat, 22 Jun 2024 21:30:02 -0700 Subject: [PATCH 04/25] plot --- Jenkinsfile | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 56811359..ae87df12 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -5,9 +5,7 @@ pipeline { stage("Initial cleanup") { steps { - dir("${WORKSPACE}") { - deleteDir() - } + deleteDir() } } @@ -20,6 +18,7 @@ pipeline { stage('Prepare Dependencies') { steps { sh 'mv .env.sample .env' + sh 'mkdir -p bootstrap/cache' sh 'composer install' sh 'php artisan migrate' sh 'php artisan db:seed' @@ -32,5 +31,27 @@ pipeline { sh './vendor/bin/phpunit' } } + + stage('Code Analysis') { + steps { + sh 'phploc app/ --log-csv build/logs/phploc.csv' + } + } + + stage('Plot Code Coverage Report') { + steps { + plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Lines of Code (LOC),Comment Lines of Code (CLOC),Non-Comment Lines of Code (NCLOC),Logical Lines of Code (LLOC)', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'A - Lines of code', yaxis: 'Lines of Code' + plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Directories,Files,Namespaces', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'B - Structures Containers', yaxis: 'Count' + plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Average Class Length (LLOC),Average Method Length (LLOC),Average Function Length (LLOC)', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'C - Average Length', yaxis: 'Average Lines of Code' + plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Cyclomatic Complexity / Lines of Code,Cyclomatic Complexity / Number of Methods', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'D - Relative Cyclomatic Complexity', yaxis: 'Cyclomatic Complexity by Structure' + plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Classes,Abstract Classes,Concrete Classes', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'E - Types of Classes', yaxis: 'Count' + plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Methods,Non-Static Methods,Static Methods,Public Methods,Non-Public Methods', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'F - Types of Methods', yaxis: 'Count' + plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Constants,Global Constants,Class Constants', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'G - Types of Constants', yaxis: 'Count' + plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Test Classes,Test Methods', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'I - Testing', yaxis: 'Count' + plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Logical Lines of Code (LLOC),Classes Length (LLOC),Functions Length (LLOC),LLOC outside functions or classes', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'AB - Code Structure by Logical Lines of Code', yaxis: 'Logical Lines of Code' + plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Functions,Named Functions,Anonymous Functions', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'H - Types of Functions', yaxis: 'Count' + plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Interfaces,Traits,Classes,Methods,Functions,Constants', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'BB - Structure Objects', yaxis: 'Count' + } + } } } From fadbf793d106f5ba9fa29d2cbcd75924be396c09 Mon Sep 17 00:00:00 2001 From: citatedelict Date: Sat, 22 Jun 2024 21:46:52 -0700 Subject: [PATCH 05/25] storage --- storage/logs/laravel.log | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 storage/logs/laravel.log diff --git a/storage/logs/laravel.log b/storage/logs/laravel.log new file mode 100644 index 00000000..e69de29b From 35ab029832fe69bcedf1810877d981cf532f0998 Mon Sep 17 00:00:00 2001 From: citatedelict Date: Sat, 22 Jun 2024 21:47:51 -0700 Subject: [PATCH 06/25] storage and logs --- storage/logs/laravel.log | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 storage/logs/laravel.log diff --git a/storage/logs/laravel.log b/storage/logs/laravel.log deleted file mode 100644 index e69de29b..00000000 From 52dd1a320a0780778cb46d73a4b41b0decce2b44 Mon Sep 17 00:00:00 2001 From: citatedelict Date: Sat, 22 Jun 2024 21:55:57 -0700 Subject: [PATCH 07/25] learn --- storage/logs/laravel.log | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 storage/logs/laravel.log diff --git a/storage/logs/laravel.log b/storage/logs/laravel.log new file mode 100644 index 00000000..e69de29b From 39bda8f2dfd0098e3a545abc9f735058d4c5b7ef Mon Sep 17 00:00:00 2001 From: Nwakpa Chidi Augustine Date: Sat, 22 Jun 2024 22:01:03 -0700 Subject: [PATCH 08/25] Delete storage directory --- storage/logs/laravel.log | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 storage/logs/laravel.log diff --git a/storage/logs/laravel.log b/storage/logs/laravel.log deleted file mode 100644 index e69de29b..00000000 From faddf6a7f3a09466b82d5dcc81a9d03dea404a74 Mon Sep 17 00:00:00 2001 From: Nwakpa Chidi Augustine Date: Sat, 22 Jun 2024 22:01:56 -0700 Subject: [PATCH 09/25] Create .file --- storage/app/.file | 1 + 1 file changed, 1 insertion(+) create mode 100644 storage/app/.file diff --git a/storage/app/.file b/storage/app/.file new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/storage/app/.file @@ -0,0 +1 @@ + From 847debb7263f2755d17219b2ecccc447c7238339 Mon Sep 17 00:00:00 2001 From: Nwakpa Chidi Augustine Date: Sat, 22 Jun 2024 22:02:46 -0700 Subject: [PATCH 10/25] Create .gitignore --- storage/framework/cache/storage/framework/cache/.gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 storage/framework/cache/storage/framework/cache/.gitignore diff --git a/storage/framework/cache/storage/framework/cache/.gitignore b/storage/framework/cache/storage/framework/cache/.gitignore new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/storage/framework/cache/storage/framework/cache/.gitignore @@ -0,0 +1 @@ + From 620c9b32901b09f0fd276fd3a289f5afd0528b58 Mon Sep 17 00:00:00 2001 From: Nwakpa Chidi Augustine Date: Sat, 22 Jun 2024 22:03:13 -0700 Subject: [PATCH 11/25] Create .gitignore --- .../framework/sessions/storage/framework/cache/.gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 storage/framework/cache/storage/framework/sessions/storage/framework/cache/.gitignore diff --git a/storage/framework/cache/storage/framework/sessions/storage/framework/cache/.gitignore b/storage/framework/cache/storage/framework/sessions/storage/framework/cache/.gitignore new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/storage/framework/cache/storage/framework/sessions/storage/framework/cache/.gitignore @@ -0,0 +1 @@ + From 051f53ded8fd5a4209fc64044576010f83dd2b9a Mon Sep 17 00:00:00 2001 From: Nwakpa Chidi Augustine Date: Sat, 22 Jun 2024 22:03:47 -0700 Subject: [PATCH 12/25] Delete storage/framework/cache/storage/framework directory --- storage/framework/cache/storage/framework/cache/.gitignore | 1 - .../framework/sessions/storage/framework/cache/.gitignore | 1 - 2 files changed, 2 deletions(-) delete mode 100644 storage/framework/cache/storage/framework/cache/.gitignore delete mode 100644 storage/framework/cache/storage/framework/sessions/storage/framework/cache/.gitignore diff --git a/storage/framework/cache/storage/framework/cache/.gitignore b/storage/framework/cache/storage/framework/cache/.gitignore deleted file mode 100644 index 8b137891..00000000 --- a/storage/framework/cache/storage/framework/cache/.gitignore +++ /dev/null @@ -1 +0,0 @@ - diff --git a/storage/framework/cache/storage/framework/sessions/storage/framework/cache/.gitignore b/storage/framework/cache/storage/framework/sessions/storage/framework/cache/.gitignore deleted file mode 100644 index 8b137891..00000000 --- a/storage/framework/cache/storage/framework/sessions/storage/framework/cache/.gitignore +++ /dev/null @@ -1 +0,0 @@ - From dee00e6db2f2e9e84e9214c50ad8ca45ec208dd2 Mon Sep 17 00:00:00 2001 From: Nwakpa Chidi Augustine Date: Sat, 22 Jun 2024 22:05:00 -0700 Subject: [PATCH 13/25] Create laravel.log --- storage/logs/laravel.log | 1 + 1 file changed, 1 insertion(+) create mode 100644 storage/logs/laravel.log diff --git a/storage/logs/laravel.log b/storage/logs/laravel.log new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/storage/logs/laravel.log @@ -0,0 +1 @@ + From 06ddfbda309c5c96e548a11dbb328f1e97abd131 Mon Sep 17 00:00:00 2001 From: Nwakpa Chidi Augustine Date: Sat, 22 Jun 2024 22:05:52 -0700 Subject: [PATCH 14/25] Create .p --- storage/app/public/.p | 1 + 1 file changed, 1 insertion(+) create mode 100644 storage/app/public/.p diff --git a/storage/app/public/.p b/storage/app/public/.p new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/storage/app/public/.p @@ -0,0 +1 @@ + From 2d4e8dfb6c57605e98f1837e4f6b1120a770b6f2 Mon Sep 17 00:00:00 2001 From: Nwakpa Chidi Augustine Date: Sat, 22 Jun 2024 22:06:15 -0700 Subject: [PATCH 15/25] Create .c --- storage/framework/cache/.c | 1 + 1 file changed, 1 insertion(+) create mode 100644 storage/framework/cache/.c diff --git a/storage/framework/cache/.c b/storage/framework/cache/.c new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/storage/framework/cache/.c @@ -0,0 +1 @@ + From aa684c2face862e0b5cf0cd960de04b6efc68a88 Mon Sep 17 00:00:00 2001 From: Nwakpa Chidi Augustine Date: Sat, 22 Jun 2024 22:06:48 -0700 Subject: [PATCH 16/25] Create .s --- storage/framework/sessions/.s | 1 + 1 file changed, 1 insertion(+) create mode 100644 storage/framework/sessions/.s diff --git a/storage/framework/sessions/.s b/storage/framework/sessions/.s new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/storage/framework/sessions/.s @@ -0,0 +1 @@ + From f7cbd18ae698a30f962da176232622007409339d Mon Sep 17 00:00:00 2001 From: Nwakpa Chidi Augustine Date: Sat, 22 Jun 2024 22:07:06 -0700 Subject: [PATCH 17/25] Create .v --- storage/framework/views/.v | 1 + 1 file changed, 1 insertion(+) create mode 100644 storage/framework/views/.v diff --git a/storage/framework/views/.v b/storage/framework/views/.v new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/storage/framework/views/.v @@ -0,0 +1 @@ + From 9d38eb31556ac7894c8cf90bd70141528a3990c1 Mon Sep 17 00:00:00 2001 From: citatedelict Date: Sat, 22 Jun 2024 22:51:37 -0700 Subject: [PATCH 18/25] ready for deployment --- Jenkinsfile | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index ae87df12..37509d38 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -53,5 +53,35 @@ pipeline { plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Interfaces,Traits,Classes,Methods,Functions,Constants', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'BB - Structure Objects', yaxis: 'Count' } } + + stage('Package Artifact') { + steps { + sh 'zip -qr php-todo.zip ${WORKSPACE}/*' + } + } + + stage('Upload Artifact to Artifactory') { + steps { + script { + def server = Artifactory.server 'artifactory-server' + def uploadSpec = """{ + "files": [ + { + "pattern": "php-todo.zip", + "target": "Todo-dev-local/php-todo", + "props": "type=zip;status=ready" + } + ] + }""" + server.upload spec: uploadSpec + } + } + } + + stage('Deploy to Dev Environment') { + steps { + build job: 'ansible-project/main', parameters: [[$class: 'StringParameterValue', name: 'env', value: 'dev']], propagate: false, wait: true + } + } } } From 24845b5fe4c56b04e1857f4d6b655fcf6c63951e Mon Sep 17 00:00:00 2001 From: citatedelict Date: Sat, 22 Jun 2024 22:56:59 -0700 Subject: [PATCH 19/25] final prep --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 37509d38..8f5c3ab7 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -80,7 +80,7 @@ pipeline { stage('Deploy to Dev Environment') { steps { - build job: 'ansible-project/main', parameters: [[$class: 'StringParameterValue', name: 'env', value: 'dev']], propagate: false, wait: true + build job: 'ansible-project/main', parameters: [[$class: 'StringParameterValue', name: 'inventory', value: 'dev']], propagate: false, wait: true } } } From d01201cd8530a8a947c40f778c865525460f7812 Mon Sep 17 00:00:00 2001 From: Nwakpa Chidi Augustine Date: Sat, 22 Jun 2024 22:57:54 -0700 Subject: [PATCH 20/25] Update Jenkinsfile --- Jenkinsfile | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index ae87df12..8f5c3ab7 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -53,5 +53,35 @@ pipeline { plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Interfaces,Traits,Classes,Methods,Functions,Constants', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'BB - Structure Objects', yaxis: 'Count' } } + + stage('Package Artifact') { + steps { + sh 'zip -qr php-todo.zip ${WORKSPACE}/*' + } + } + + stage('Upload Artifact to Artifactory') { + steps { + script { + def server = Artifactory.server 'artifactory-server' + def uploadSpec = """{ + "files": [ + { + "pattern": "php-todo.zip", + "target": "Todo-dev-local/php-todo", + "props": "type=zip;status=ready" + } + ] + }""" + server.upload spec: uploadSpec + } + } + } + + stage('Deploy to Dev Environment') { + steps { + build job: 'ansible-project/main', parameters: [[$class: 'StringParameterValue', name: 'inventory', value: 'dev']], propagate: false, wait: true + } + } } } From 1cd4c13c05f0e3ef9bbb143c1907444fb706c9ac Mon Sep 17 00:00:00 2001 From: citatedelict Date: Sat, 22 Jun 2024 23:13:55 -0700 Subject: [PATCH 21/25] deployed correction --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 8f5c3ab7..b3d7cb35 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -80,7 +80,7 @@ pipeline { stage('Deploy to Dev Environment') { steps { - build job: 'ansible-project/main', parameters: [[$class: 'StringParameterValue', name: 'inventory', value: 'dev']], propagate: false, wait: true + build job: 'ansibllle-config-mgt/main', parameters: [[$class: 'StringParameterValue', name: 'inventory', value: 'dev']], propagate: false, wait: true } } } From ee87405e549afee9b9e1b909ec784bb1af13f709 Mon Sep 17 00:00:00 2001 From: Nwakpa Chidi Augustine Date: Sat, 22 Jun 2024 23:15:06 -0700 Subject: [PATCH 22/25] Update Jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 8f5c3ab7..b3d7cb35 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -80,7 +80,7 @@ pipeline { stage('Deploy to Dev Environment') { steps { - build job: 'ansible-project/main', parameters: [[$class: 'StringParameterValue', name: 'inventory', value: 'dev']], propagate: false, wait: true + build job: 'ansibllle-config-mgt/main', parameters: [[$class: 'StringParameterValue', name: 'inventory', value: 'dev']], propagate: false, wait: true } } } From 7a1f0d1b82e9d87fb439b41113b9b1ab2632ebc6 Mon Sep 17 00:00:00 2001 From: citatedelict Date: Sun, 23 Jun 2024 07:10:18 -0700 Subject: [PATCH 23/25] commit new --- Jenkinsfile | 45 +++++++++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 20 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index b3d7cb35..d06e2b7e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -2,8 +2,7 @@ pipeline { agent any stages { - - stage("Initial cleanup") { + stage('Initial Cleanup') { steps { deleteDir() } @@ -29,9 +28,9 @@ pipeline { stage('Execute Unit Tests') { steps { sh './vendor/bin/phpunit' - } + } } - + stage('Code Analysis') { steps { sh 'phploc app/ --log-csv build/logs/phploc.csv' @@ -40,17 +39,17 @@ pipeline { stage('Plot Code Coverage Report') { steps { - plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Lines of Code (LOC),Comment Lines of Code (CLOC),Non-Comment Lines of Code (NCLOC),Logical Lines of Code (LLOC)', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'A - Lines of code', yaxis: 'Lines of Code' - plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Directories,Files,Namespaces', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'B - Structures Containers', yaxis: 'Count' - plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Average Class Length (LLOC),Average Method Length (LLOC),Average Function Length (LLOC)', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'C - Average Length', yaxis: 'Average Lines of Code' - plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Cyclomatic Complexity / Lines of Code,Cyclomatic Complexity / Number of Methods', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'D - Relative Cyclomatic Complexity', yaxis: 'Cyclomatic Complexity by Structure' - plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Classes,Abstract Classes,Concrete Classes', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'E - Types of Classes', yaxis: 'Count' - plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Methods,Non-Static Methods,Static Methods,Public Methods,Non-Public Methods', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'F - Types of Methods', yaxis: 'Count' - plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Constants,Global Constants,Class Constants', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'G - Types of Constants', yaxis: 'Count' - plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Test Classes,Test Methods', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'I - Testing', yaxis: 'Count' - plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Logical Lines of Code (LLOC),Classes Length (LLOC),Functions Length (LLOC),LLOC outside functions or classes', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'AB - Code Structure by Logical Lines of Code', yaxis: 'Logical Lines of Code' - plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Functions,Named Functions,Anonymous Functions', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'H - Types of Functions', yaxis: 'Count' - plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Interfaces,Traits,Classes,Methods,Functions,Constants', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'BB - Structure Objects', yaxis: 'Count' + plot csvFileName: 'plot-loc.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Lines of Code (LOC),Comment Lines of Code (CLOC),Non-Comment Lines of Code (NCLOC),Logical Lines of Code (LLOC)', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'A - Lines of Code', yaxis: 'Lines of Code' + plot csvFileName: 'plot-structures.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Directories,Files,Namespaces', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'B - Structures Containers', yaxis: 'Count' + plot csvFileName: 'plot-avg-length.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Average Class Length (LLOC),Average Method Length (LLOC),Average Function Length (LLOC)', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'C - Average Length', yaxis: 'Average Lines of Code' + plot csvFileName: 'plot-complexity.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Cyclomatic Complexity / Lines of Code,Cyclomatic Complexity / Number of Methods', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'D - Relative Cyclomatic Complexity', yaxis: 'Cyclomatic Complexity by Structure' + plot csvFileName: 'plot-classes.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Classes,Abstract Classes,Concrete Classes', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'E - Types of Classes', yaxis: 'Count' + plot csvFileName: 'plot-methods.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Methods,Non-Static Methods,Static Methods,Public Methods,Non-Public Methods', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'F - Types of Methods', yaxis: 'Count' + plot csvFileName: 'plot-constants.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Constants,Global Constants,Class Constants', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'G - Types of Constants', yaxis: 'Count' + plot csvFileName: 'plot-testing.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Test Classes,Test Methods', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'I - Testing', yaxis: 'Count' + plot csvFileName: 'plot-lloc.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Logical Lines of Code (LLOC),Classes Length (LLOC),Functions Length (LLOC),LLOC outside functions or classes', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'AB - Code Structure by Logical Lines of Code', yaxis: 'Logical Lines of Code' + plot csvFileName: 'plot-functions.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Functions,Named Functions,Anonymous Functions', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'H - Types of Functions', yaxis: 'Count' + plot csvFileName: 'plot-objects.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Interfaces,Traits,Classes,Methods,Functions,Constants', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'BB - Structure Objects', yaxis: 'Count' } } @@ -62,8 +61,8 @@ pipeline { stage('Upload Artifact to Artifactory') { steps { - script { - def server = Artifactory.server 'artifactory-server' + script { + def server = Artifactory.server 'artifactory-server' def uploadSpec = """{ "files": [ { @@ -72,15 +71,21 @@ pipeline { "props": "type=zip;status=ready" } ] - }""" - server.upload spec: uploadSpec + }""" + println "Upload Spec: ${uploadSpec}" + try { + server.upload spec: uploadSpec + println "Upload successful" + } catch (Exception e) { + println "Upload failed: ${e.message}" + } } } } stage('Deploy to Dev Environment') { steps { - build job: 'ansibllle-config-mgt/main', parameters: [[$class: 'StringParameterValue', name: 'inventory', value: 'dev']], propagate: false, wait: true + build job: 'ansible-project/main', parameters: [[$class: 'StringParameterValue', name: 'inventory', value: 'dev']], propagate: false, wait: true } } } From 60c1ffea806ecd43b9a33eb1a9063287b4f49fff Mon Sep 17 00:00:00 2001 From: Nwakpa Chidi Augustine Date: Sun, 23 Jun 2024 07:15:41 -0700 Subject: [PATCH 24/25] Update Jenkinsfile --- Jenkinsfile | 45 +++++++++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 20 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index b3d7cb35..d06e2b7e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -2,8 +2,7 @@ pipeline { agent any stages { - - stage("Initial cleanup") { + stage('Initial Cleanup') { steps { deleteDir() } @@ -29,9 +28,9 @@ pipeline { stage('Execute Unit Tests') { steps { sh './vendor/bin/phpunit' - } + } } - + stage('Code Analysis') { steps { sh 'phploc app/ --log-csv build/logs/phploc.csv' @@ -40,17 +39,17 @@ pipeline { stage('Plot Code Coverage Report') { steps { - plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Lines of Code (LOC),Comment Lines of Code (CLOC),Non-Comment Lines of Code (NCLOC),Logical Lines of Code (LLOC)', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'A - Lines of code', yaxis: 'Lines of Code' - plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Directories,Files,Namespaces', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'B - Structures Containers', yaxis: 'Count' - plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Average Class Length (LLOC),Average Method Length (LLOC),Average Function Length (LLOC)', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'C - Average Length', yaxis: 'Average Lines of Code' - plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Cyclomatic Complexity / Lines of Code,Cyclomatic Complexity / Number of Methods', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'D - Relative Cyclomatic Complexity', yaxis: 'Cyclomatic Complexity by Structure' - plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Classes,Abstract Classes,Concrete Classes', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'E - Types of Classes', yaxis: 'Count' - plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Methods,Non-Static Methods,Static Methods,Public Methods,Non-Public Methods', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'F - Types of Methods', yaxis: 'Count' - plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Constants,Global Constants,Class Constants', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'G - Types of Constants', yaxis: 'Count' - plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Test Classes,Test Methods', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'I - Testing', yaxis: 'Count' - plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Logical Lines of Code (LLOC),Classes Length (LLOC),Functions Length (LLOC),LLOC outside functions or classes', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'AB - Code Structure by Logical Lines of Code', yaxis: 'Logical Lines of Code' - plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Functions,Named Functions,Anonymous Functions', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'H - Types of Functions', yaxis: 'Count' - plot csvFileName: 'plot-396c4a6b-b573-41e5-85d8-73613b2ffffb.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Interfaces,Traits,Classes,Methods,Functions,Constants', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'BB - Structure Objects', yaxis: 'Count' + plot csvFileName: 'plot-loc.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Lines of Code (LOC),Comment Lines of Code (CLOC),Non-Comment Lines of Code (NCLOC),Logical Lines of Code (LLOC)', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'A - Lines of Code', yaxis: 'Lines of Code' + plot csvFileName: 'plot-structures.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Directories,Files,Namespaces', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'B - Structures Containers', yaxis: 'Count' + plot csvFileName: 'plot-avg-length.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Average Class Length (LLOC),Average Method Length (LLOC),Average Function Length (LLOC)', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'C - Average Length', yaxis: 'Average Lines of Code' + plot csvFileName: 'plot-complexity.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Cyclomatic Complexity / Lines of Code,Cyclomatic Complexity / Number of Methods', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'D - Relative Cyclomatic Complexity', yaxis: 'Cyclomatic Complexity by Structure' + plot csvFileName: 'plot-classes.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Classes,Abstract Classes,Concrete Classes', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'E - Types of Classes', yaxis: 'Count' + plot csvFileName: 'plot-methods.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Methods,Non-Static Methods,Static Methods,Public Methods,Non-Public Methods', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'F - Types of Methods', yaxis: 'Count' + plot csvFileName: 'plot-constants.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Constants,Global Constants,Class Constants', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'G - Types of Constants', yaxis: 'Count' + plot csvFileName: 'plot-testing.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Test Classes,Test Methods', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'I - Testing', yaxis: 'Count' + plot csvFileName: 'plot-lloc.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Logical Lines of Code (LLOC),Classes Length (LLOC),Functions Length (LLOC),LLOC outside functions or classes', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'AB - Code Structure by Logical Lines of Code', yaxis: 'Logical Lines of Code' + plot csvFileName: 'plot-functions.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Functions,Named Functions,Anonymous Functions', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'H - Types of Functions', yaxis: 'Count' + plot csvFileName: 'plot-objects.csv', csvSeries: [[displayTableFlag: false, exclusionValues: 'Interfaces,Traits,Classes,Methods,Functions,Constants', file: 'build/logs/phploc.csv', inclusionFlag: 'INCLUDE_BY_STRING', url: '']], group: 'phploc', numBuilds: '100', style: 'line', title: 'BB - Structure Objects', yaxis: 'Count' } } @@ -62,8 +61,8 @@ pipeline { stage('Upload Artifact to Artifactory') { steps { - script { - def server = Artifactory.server 'artifactory-server' + script { + def server = Artifactory.server 'artifactory-server' def uploadSpec = """{ "files": [ { @@ -72,15 +71,21 @@ pipeline { "props": "type=zip;status=ready" } ] - }""" - server.upload spec: uploadSpec + }""" + println "Upload Spec: ${uploadSpec}" + try { + server.upload spec: uploadSpec + println "Upload successful" + } catch (Exception e) { + println "Upload failed: ${e.message}" + } } } } stage('Deploy to Dev Environment') { steps { - build job: 'ansibllle-config-mgt/main', parameters: [[$class: 'StringParameterValue', name: 'inventory', value: 'dev']], propagate: false, wait: true + build job: 'ansible-project/main', parameters: [[$class: 'StringParameterValue', name: 'inventory', value: 'dev']], propagate: false, wait: true } } } From 46d0735ddd5b0274cc8b266d1027d41706b32e45 Mon Sep 17 00:00:00 2001 From: citatedelict Date: Sun, 23 Jun 2024 07:28:09 -0700 Subject: [PATCH 25/25] new --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index d06e2b7e..ae636f4f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -85,7 +85,7 @@ pipeline { stage('Deploy to Dev Environment') { steps { - build job: 'ansible-project/main', parameters: [[$class: 'StringParameterValue', name: 'inventory', value: 'dev']], propagate: false, wait: true + build job: 'ansibllle-config-mgt/main', parameters: [[$class: 'StringParameterValue', name: 'inventory', value: 'dev']], propagate: false, wait: true } } }