~/devreads

#ci cd

15 posts

1 May

Jennifer Kohl 12 min read

I work on Coding Agent Sandboxes, aka “sbx” at Docker. The project provides secure, microVM-based isolation for running AI coding agents like Claude Code, Gemini, Codex, Docker Agent and Kiro. Agents get full autonomy inside a sandbox (their own Docker daemon, network, filesystem) without touching your host system. Over the past couple of weeks, we...

engineeringagentic aiai agentci cddocker sandboxes

6 Nov 2025

David Reed (he/his) 15 min read

We manage the build pipeline that delivers Quip and Slack Canvas’s backend. A year ago, we were chasing exciting ideas to help engineers ship better code, faster. But we had one huge problem: builds took 60 minutes. With a build that slow, the whole pipeline gets less agile, and feedback doesn’t come to engineers until…

uncategorizedbuild-performancecachingci-cddeveloper-experience

7 Oct 2025

14 Apr 2025

Dan Carton 5 min read

In the world of DevOps and Developer Experience (DevXP), speed and efficiency can make a big difference on an engineer’s day-to-day tasks. Today, we’ll dive into how Slack’s DevXP team took some existing tools and used them to optimize an end-to-end (E2E) testing pipeline. This lowered build times and reduced redundant processes, saving both time…

uncategorizedci-cddeveloper-experiencedeveloper-productivitydevops

16 Dec 2024

Zhengyu Shen 12 min read

Overview The past few months have been exciting times for Slack’s CI infrastructure. After years of developer frustration with Jenkins (everything from security issues to downtime to generally poor UX) internal pressure led us to move a majority of Slack’s CI jobs from Jenkins to GitHub Actions. My intern project at Slack this summer involved…

uncategorizedci-cddevopsdevtoolsmachine-learning

18 Jan 2024

Sean McIlroy 12 min read

Most of Slack runs on a monolithic service simply called “The Webapp”. It’s big – hundreds of developers create hundreds of changes every week. Deploying at this scale is a unique challenge. When people talk about continuous deployment, they’re often thinking about deploying to systems as soon as changes are ready. They talk about microservices…

uncategorizedautomationbackendci-cddeployment

19 Aug 2022

Frank Chen 15 min read

What happens when your distributed service has challenges with stampeding herds of internal requests? How do you prevent cascading failures between internal services? How might you re-architect your workflows when naive horizontal or vertical scaling reaches their respective limits? These were the challenges facing Slack engineers during their day-to-day development workflows in 2020. Multiple internal…

uncategorizedci-cddeveloper-productivityincident-managementinfrastructure

18 Feb 2022

Carlos Valdez 12 min read

In 2021, we changed developer testing workflows for Webapp, Slack’s main monorepo, from predominantly testing before merging to a multi-tiered testing workflow after merging. This changed our previous definition of safety and developer workflows between testing and deploys. In this project, we aimed to ensure frequent, reliable, and high-quality releases to our customers for a…

uncategorizedautomation-testingci-cddeploymentincident-management

16 Nov 2021

srinivas.tamada@gmail.com (Srinivas Tamada) 1 min read

UI automation is the most important part of the CI/CD(continuous integration and continuous delivery) process. Integration testing helps you to avoid manual regression testing and improve the application quality. In this post I will explain how to implement UI automation testing to existing Angular projects using the Cypress tool, this is a great alternative for Protractor. Take a look at…

angularautomationci-cdcypressprojects

8 Sept 2021

Schakko 2 min read

To be able to run PHP applications on Azure App Services which are using PHP 8.0 features, the Runtime Stack has to be changed. With the newer Runtime Stack, you also have to update the nginx.conf of the underlying Docker image. This article describes how you can achieve that. 2023-03-28: […] The post Deploying PHP 8.0 applications with Azure App…

azureci cd

19 Dec 2020

Schakko 6 min read

GitHhub Package Repository provides an easy way to share dependencies like Maven artifacts between GitHub projects. Publishing of new artifacts into GitHub Package Repository can be automated with GitHub Actions. In May 2019 GitHub introduced the GitHub Package Registry: an alternative to some traditional package registries like Sonatype Nexus. During […] The post Using GitHub Workflow with Maven dependencices from…

ci cd

20 Jul 2020

Schakko 3 min read

rsync access can be restricted with a custom wrapper script or an official script named “rrsync”. Access to your remote filesystem should always be restricted so you won’t leak any information in case of a security breach. I’ve used GitHub Actions a lot in the last few months. For web […] The post Restrict SSH to rsync for deploying files…

ci cd

24 May 2020

Schakko 4 min read

There are situations in which you want to use your own Artifactory server for resolving Maven dependencies. Maybe you have private artifacts or are not yet in the process of migrating from Artifactory to GitHub Packages. What is the goal of this blog post? This blog shows you how you […] The post How to use a private Maven repository…

ci cd

24 Aug 2019

Schakko 1 min read

Shortly after I had started the work on nerdhood.de I built a deployment pipeline. The bash-based build script for my Laravel application was easy but triggering the deployment itself turned out to be more difficult than expected. In the end I built something with two AWS Lambda function, SNS, an […] The post Deploying with SSH using GitHub Actions appeared…

ci cddevops

21 Aug 2012

Schakko 1 min read

If you want to make your TeamCity, Confuence or JIRA instance accessible from outside of your LAN, you should remove all version signatures so that no attacker can easily lookup for existing exploits. TeamCity: Open <TeamCity installation dir>/webapps/ROOT/WEB-INF/tags/version.tag and remove the full content from this file. You must restart the TeamCity […] The post Remove version signature from TeamCity, Confluence…

ci cdconfluencedisablehideinformation