PHP CI/CD tools to support legacy code?

0 like 0 dislike
Hello, I really want to implement in your project, CI/CD, but practical experience never was.
Mountain read on the subject of the articles leads me to answer "write their own" what there are no resources.
  • The private commercial project
  • Your server is on debian with SSH access
  • Project on phpBB 3.0.12 (no composer tests and buying documentation in the code)
  • Hora is written above and next code (natrona logic, no documentation, coding style, and tests)
  • PHP 5.3 (lifting to 5.4 breaks the performance, and adapting the code will take months)
  • Forwarding HTML template engine for PHP variables in JS via SCRIPT tags
  • In JS too actively used to generate an html string concatenation and a further input in the innerHTML
  • Test the subdomain with the database and code

Workflow now:
  1. Feature is described in my branch
  2. Created pull-request
  3. Another developer checks code style, documentation
  4. After changing the branch merges into develop
  5. Hands out of the branches develop the files using git diff --name-only
  6. Connect via FTP to a test subdomain, copy the files from it which will be changed into a separate folder (keeping the folder hierarchy)
  7. Overwritten over the new files from the develop
  8. A request to change the SQL version of the site(it is appended to the static files for the "reset cache")
  9. Tested the functionality on a limited number of users test subdomain
  10. After all the revisions, fill the develop branch into the master and repeat all the same from item 5 to main domain

Workflow in dreams:
  1. Feature is described in my branch
  2. Created pull-request
  3. The server runs Code Coverage, PHPLint, PHPDCD, PHPMD, PHPCS and similar tests for the HTML and JS only on the changed code(it is obvious that these tools will criticize existing changed files to see the code)
  4. After changing the branch merges into develop
  5. The server responds to an infusion of to develop and automatically changes the files on the test domain, change the version in the database
  6. After all the changes add code to master
  7. After all the revisions, fill the develop branch into master and the server does the same from item 5 to main domain

  • On the main domain I would like to have a button "revert to" selecting stable versions, is that possible?
  • What tools can change the workflow?What is the best way to organize it?
  • Which files to give to the test automated tests, if the primary domain files should be after treatment autoprefixer,mqpacker,csso/uglify/html minify?

I hope You too were filled with tears when reading the description of my current workflow and the state of the code base.
I'm not a professional developer and pray for the help of specialists.
A variant "to rewrite all under the current standards" are unacceptable because of lack of resources, but all new code the development team is trying to write in step with the times.
I apologize for that sketched in one question too much information and side issues.
Many thanks in advance for advice on the merits.
by | 13 views

1 Answer

0 like 0 dislike
the rise to 5.4 breaks the performance
My verdict: if the project You need - think: how to rewrite (plan) and PHP7.
And then about the "rollout" updates start to think.

As it is now there - go for PHP7.
Parallel - to- install and configure version control system and write to it management system.

Related questions

0 like 0 dislike
1 answer
asked Mar 24, 2019 by Spegulo
0 like 0 dislike
2 answers
asked May 21, 2019 by Agatnet
0 like 0 dislike
3 answers
110,608 questions
257,186 answers
28,697 users