| Actually, I have considerable experience setting up and running various CI/CD tools such as Jenkins, GitLab CI, and Travis CI. In my experience, GitHub Actions work quite well, especially for smaller projects or when you can avoid using public templates and actions. While shortcuts like third-party libraries or actions can be convenient, they often come with trade-offs. For scenarios where having your own runners and build images is beneficial, I would recommend GitLab CI. Jenkins is a great choice if you need to run builds on dedicated hardware or within a virtualized environment. When discussing the challenges of CI/CD, I often notice that many issues stem from complex chains of dependencies within the software or product itself. For example, consider a release pipeline that typically takes six hours to complete but fails after four hours. In such cases, having to restart the entire pipeline instead of just the failed job can be quite inefficient. Additionally, debugging can become much easier when you have your own build images on runners, as you can run them locally for testing and troubleshooting. What specific aspects of CI/CD do you find broken or challenging? |