5 ms·
Personally I would not use CodeCommit, CodeDeploy, or Lambda for my CI/CD. I'm very much a fan of Lambda, but it just isn't the right platform for a lot of CI/C
by ak217 6y ago
Personally I would not use CodeCommit, CodeDeploy, or Lambda for my CI/CD. I'm very much a fan of Lambda, but it just isn't the right platform for a lot of CI/CD.
GitHub Actions with self-hosted runners (https://help.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners https://help.github.com/en/actions/hosting-your-own-runners/...) offers a much more user-friendly and complete product. It's a shame that GitHub does not publish an AMI, but installing the runner is straightforward enough. A T3 instance is all that you need.
- ashtonkem 6y agoIn theory I like Github actions, in practice it was a nightmare when I tried it. Discoverability and modification was a nightmare. Solving any task basically required that I pick a community written extension and trust it with github credentials. Their documentation also managed to both be too long and devoid of the details I needed answering, which is a neat trick. In the end I went back to CircleCI, since writing a yaml file was much clearer.
- stevekemp 6y agoYou can always fork an action-repository to your own account, and failing that pin to a specific version. Github actions I find pretty awesome, allowing your configuration file to just be glue between well-written, well-maintained actions for doing "stuff". I've written a couple of my own, and since they're docker based they're very simple to get running, and very easily composable. For example this one is trivial, but it lets you run project-specific test-cases on PR/push/whatever: https://github.com/skx/github-action-tester https://github.com/skx/github-action-tester Just add `.github/run-tests.sh` to your repository and enable the action, suddenly your test-cases run. And since the test-cases are in your repository you can do anything you like, including run them locally!
- ashtonkem 6y agoI don’t want to have to fork and maintain a repo to run tests or push to a docker repository. Things that take a single line of bash should not require an entire repository to implement.
- watermelon0 6y agoI have to agree with this. Recently, I started moving a few of my personal projects to GitHub, and decided to embrace Actions, since there is plenty of free minutes available each month. I can say that I do like extensions to a point, and it seems that there is a lot more traction from the community, than for example for CircleCI Orbs, which are more or less the same thing. However, CircleCI or GitLab CI (I'd reckon they are quite close in the syntax and features they offer) configuration seems much more straightforward, and is easier to write and understand. Also, documentation really does leave a lot to be desired.
- crohr 6y agoGitHub Actions are pretty powerful actually. I wrote https://github.com/pullpreview/action https://github.com/pullpreview/action, which allows to continuously deploy branches and PRs to AWS instances and it works great. The trick is to understand that for complex behaviours you can't just glue different actions together, and instead you may have to build your own action and use the GitHub API token provided in the context to possibly perform additional actions.
- guitarbill 6y agoExcept for CodeBuild which is decent; CodeCommit, CodeDeploy, and CodePipeline are severely underwhelming to embarrassing. As if they were written by people who had never experienced what modern CI/CD and dev tools looks like (and interns/college grads). And this is coming from someone who's had the "pleasure" of setting up and maintaining Jenkins. If Amazon's internal tooling is like that, they should've gone ahead and bought GitHub. Would've probably paid off in terms of developer productivity very quickly.