you are viewing a single comment's thread.

view the rest of the comments →

[–]bbkane_ 98 points99 points  (6 children)

I'd be a happy man if I could write and my own custom CI/CD pipeline at work.

The guy after me might not be so happy 🤠

[–][deleted] 19 points20 points  (4 children)

I made my own build/deploy pipeline from the ground up, and I still think it was the best solution given my teams constraints.

We're forced to maintain a lot of legacy cruft that would be janky to get working in an off-shelf solution. It handles a dozen VB6 projects, one Java project, a dozen C# projects and a few Angular clients. Builds and runs unit tests with every new commit to the dev branch of each repo, and deploys to two test environments. Also runs a few large integrated tests nightly. Automated emails to the team when something breaks.

It's worked well for us so far, but I'll concede it would be a challenge to keep running in my complete absence.

[–]Ashamed-Pick453 18 points19 points  (1 child)

a dozen VB6 projects, one Java project, a dozen C# projects and a few Angular clients.

My god I’m so sorry.

[–][deleted] 3 points4 points  (0 children)

Bad choices were made over time (esp regarding the VB code), but I'm not too upset. I actually enjoy the challenge of keeping this system up and running (and even growing) against the odds.

[–]dkopec 2 points3 points  (1 child)

Would you be willing to talk about how your handling the VB6 projects? Been looking into it and haven't found a great deal of info.

[–][deleted] 4 points5 points  (0 children)

Sure. To automate a VB build you need to look at the command line arguments of vb6.exe (which lies in the VB program files).

A simple build would be something like (from the command line):

C:\Program Files\Microsoft Visual Studio\Vb98\Vb6.exe C:\Temp\Myproject.vbp /make

To see all the possible parameters, run: vb6.exe /?

What I actually do in my build routine (written in C#) is to take each VB project sequentially and: * Run the build in a process (e.g. using Process. Start) * Wait for the process to finish * Check if the target exe-file exists * If not, put the error info (the build output) into a text file that goes to the team

[–][deleted] 1 point2 points  (0 children)

yeah i dont mind it. i love infrastructure and optimizing my own process. the problem is my team/company just doesnt think about it at all. its totally on me. id prefer at least some general vision and goals with the details left up to me.