3 ms·
Opinions may vary, but I think it's nice to keep the developer experience concise and simple, and for continuous intregration to perform exactly the same steps.
by jka 5y ago
Opinions may vary, but I think it's nice to keep the developer experience concise and simple, and for continuous intregration to perform exactly the same steps.
That could distill down to as simple as the single-word command 'pytest' or 'tox' for a Python project, or 'jest' for Javascript (with all configuration bundled in the repo).
Then a platform that provides a straightforward transition from a command-line step to a pipeline job; both GitLab and GitHub offer that through their respective YAML configuration languages.
The nice thing about this - if you're careful - is that it avoids too much vendor lock-in. If needed in future, you can migrate to another service that allows running simple command-line scripts.
Some of this applies to continuous deployment too, but in practice that depends a lot on your infrastructure and service/process management (kubernetes, systemd, etc). It's possible to design that to make command-line CI/CD straightforward too, but a lot easier if you plan for it up-front, and more challenging to migrate to from another architecture.