profile

Mark C Allen

Everyday DevOps - 5 Steps to a Continuous Deployment Culture


Everyday DevOps

5 Steps to a Continuous Deployment Culture

In this edition of Everyday DevOps, I dive into the essential mindset and practical steps needed to foster a culture of continuous deployment. I break down the journey into five clear steps that can help any team move faster, ship more reliably, and reduce fear around releases. Whether starting with CI/CD or looking to strengthen your current pipeline, these insights will guide you toward a more confident and efficient delivery process.

Tips & Tricks for the week

This week, I worked on different Model Context Protocol example projects. While doing this, I'm often creating a typescript project from scratch. To help with this, I need a standardized tsconfig.json

The basic idea is to use tsc to create the tsconfig.json

Wrapped Bash Highlight

npx tsc --init --rootDir src --outDir dist \
--esModuleInterop --resolveJsonModule --target es2022 \
--module node16 --moduleResolution node16 --allowJs true --noImplicitAny true

And then format it with the npm package strip-json-comments-cli

Wrapped Bash Highlight

cat tsconfig.json | strip-json-comments --no-whitespace | jq -r . > tsconfig.pretty.json && mv tsconfig.pretty.json tsconfig.json

Add the include and exclude directories.

Wrapped Bash Highlight

jq '. + {include: ["src/**/*"], exclude: ["node_modules"]}' tsconfig.json > tsconfig.tmp.json && mv tsconfig.tmp.json tsconfig.json

Now I have this

Static Highlighted JSON

{
  "compilerOptions": {
    "target": "es2022",
    "module": "node16",
    "rootDir": "src",
    "moduleResolution": "node16",
    "resolveJsonModule": true,
    "allowJs": true,
    "outDir": "dist",
    "esModuleInterop": true,
    "forceConsistentCasingInFileNames": true,
    "strict": true,
    "noImplicitAny": true,
    "skipLibCheck": true
  },
  "include": [
    "src/**/*"
  ],
  "exclude": [
    "node_modules"
  ]
}

I created a gist for it; you can read more about it on my blog.


What this week has in store

This week, I'm working on deploying my own small LLM to Kubernetes so that I can fine-tune it with custom datasets for my needs. Then, I'll work on a process to test different models to see how the custom datasets work.

See you next week!

Mark C Allen

1:1 Chat

Need a Different Perspective

Do you have a problem with your release process? Has Kubernetes got you down? Do you need an outsider's perspective on what's holding up your deployments? If you have 25 minutes, book a time with me.

Mark C Allen

For DevOps engineers. Ideas, concepts, tips & tricks based on my day-to-day experience.

Share this page