Migrating from Docker Machine to Scale Runners in GitLab.com

Migrating from Docker Machine to Scale Runners in GitLab.com

Friday, May 12, 2023
A pretty exciting look into the future of CI job scaling at GitLab is taking shape and it’s clear they’re tackling some long-standing infrastructure pain points. Currently, GitLab uses Docker Machine to spin up ephemeral runners, which works… but comes with several limitations. Docker Machine is essentially in maintenance mode, and its abstraction layer can be clunky and inconsistent across different cloud providers. For large-scale CI/CD systems, that means reliability, speed, and fine-grained control are compromised, none of which are ideal in a fast-moving dev environment. ...

Read more
Commit Guidelines: Do We Need Them?

Commit Guidelines: Do We Need Them?

Friday, Mar 31, 2023
What do you think about COMMIT_GUIDELINES being included in a project? Should you have a project (or central) standard for writing commits? What about Conventional Commits? Pros: Improves clarity across teams by making commit messages consistent and understandable. Helps with automation, like changelog generation and semantic versioning (especially with Conventional Commits). Makes code history easier to navigate and audit. Encourages thoughtful commits, which can improve code quality and documentation. Useful for onboarding new team members who can quickly understand the project’s development patterns. Cons: ...

Read more
Ideal Starters for Projects

Ideal Starters for Projects

Friday, Mar 17, 2023
What would be your perfect base project on GitHub (or GitLab)? I would think it would include: Documentation (readme, contributing, licence, changelog, security) PR/MR and Issue Templates CI/CD (Actions or GitLab CI - Superlinter? yamllint?) CODEOWNERS and options to include: Pre-commits (?) Auto PR tools (Renovatebot?) .editorconfig or .vscode/ directory? Security (?)

Read more
v4.3.2 of Docker Ansible

v4.3.2 of Docker Ansible

Thursday, Mar 2, 2023
Just released v4.3.2 of Docker Ansible 😆 . A few changes (rolled from previous v4.3.* releases which then were fixed over the next 2). Bringing in RockyLinux 9, Alpine 3.17 as new base images 🆕 , dropping Alpine 3.12, Alpine 3.13 and Debian Stretch as EOL 🧟‍♂️ . I still have longer-term ambitions to move this to being multi-stage builds (with multi-architecture at some point). Multi-arch is harder just due to the build times as using linux/amd64 for runners to build linux/arm64/v8 takes a long time. 😑 ...

Read more
Changelogs: For Humans, Not Machines

Changelogs: For Humans, Not Machines

Thursday, Sep 22, 2022
For anyone who has worked with me, they know I love a changelog and versioning. Whether it is because I sometime forget what I did a year ago, with different projects, technologies and methodologies all competing for brain space, or whether it is just so you can track what you released when, I find them an integral part of all software engineering… I’d love to see what others think I should add. ...

Read more
New Sidebar Menu Inside GitLab.com

New Sidebar Menu Inside GitLab.com

Tuesday, Jun 15, 2021
New sidebar menu inside GitLab.com - I’ve shown the infrastructure parts with Terraform state. Exciting to see more options in there all the time. What’s particularly exciting is how GitLab continues to expand what’s available in that sidebar. It’s not just about code anymore—more options for CI/CD, infrastructure, and even security are becoming increasingly prominent. It’s a nice reflection of how GitLab is growing into a truly comprehensive DevOps platform. I’m looking forward to seeing what else they sneak into that ever-evolving sidebar. Little upgrades like this show that the GitLab team is really paying attention to user workflows. ...

Read more
The past 10 years and the future

The past 10 years and the future

Sunday, Jan 12, 2020
The end of the year is a great time for evaluation and retrospection; and the end of the decade is the same. It often seems that time passes slowly and changes pass quickly but it is probably the opposite. Personally, I have seen a lot of changes over the past 10 years both personally and within work and this post is an effort to evaluate and understand them. Marriage and Children How could I start without mentioning that within the past 10 years I have gotten married and had 2 children. Anyone who thinks that marriage and children will not change them, frankly is either lying to themselves, or drastically underappreciating life change. I could not think of another event that has changed my life so dramatically as having children. They literally stop your life and alter it. ...

Read more
Hello Terraform Serverless - GitLab, Terraform and AWS; The Perfect Combination

Hello Terraform Serverless - GitLab, Terraform and AWS; The Perfect Combination

Tuesday, Dec 3, 2019
I recently have been working on single pipelines. The idea behind it is that with the growth of software development and the increase in how we manage, write and maintain our software and out infrastructure as separate items, there are a lot of complications that come out when integrating both in people and processes. There is only 1 Team A regular setup when imagining software projects appears to be that despite the dream of DevOps making software teams more interoperable, they have potentially become more divided. Generally I often see teams that are separated as such: ...

Read more
Interview with DevOpsAnarchist.com at GitLab Commit London

Interview with DevOpsAnarchist.com at GitLab Commit London

Monday, Oct 28, 2019
Normally, I try to write expressionate things inside my blog, about certain things I have worked on or found interesting. However, this is more to share that I was interviewed by digitalanarchist.com for DevOps.com whilst at GitLab Commit in London. Overall, I found the interview really interesting. I talked about HeleCloud, what the role of DevOps does and a whole bunch about why I think GitLab is a great tool and how easy it is to actually deploy GitLab pages files, with all the bells and whistles of any Static site, but with almost no configuration. ...

Read more
Automatically creating patches for Drupal Modules using CI

Automatically creating patches for Drupal Modules using CI

Wednesday, Apr 3, 2019
Anyone who has maintained open-source software has probably felt the burnout or challenge of maintaining software around their day job. Wouldn’t it be great if you could use CI to get some merge/pull requests against your projects when the coding standards that you are following are updated? If the answer is yes then look no further. Drupal Coding Standard Patch Generation phpcs-drupal: image: willhallonline/drupal-phpcs:alpine allow_failure: yes script: - phpcs ./ phpcbf-drupal: image: willhallonline/drupal-phpcs:alpine allow_failure: yes script: - set +e - phpcbf ./ - git status - git -c user.name='Will Hall' -c user.email='incoming+willhallonline/file_system_switch@gitlab.com' commit -am "Coding Standards Formatting" - git diff origin/$CI_COMMIT_REF_NAME > $CI_COMMIT_SHA.patch artifacts: paths: - $CI_COMMIT_SHA.patch expire_in: 1 week The process of this is rather simple: ...

Read more