This document summarizes my key learnings and experiences from writing a Jenkinsfile to implement an Android Jenkins pipeline. It highlights the challenges I encountered, the unfamiliar syntax I discovered, and other insights gained throughout the process. 1. Agent Declaration agent any Specifies that any available agent can execute the pipeline Can be customized with agent tags: agent { label 'android-builder' } 2. Environment Block environment { ANDROID_HOME = "/opt/android/sdk" JAVA_HOME = "/Library/Java/OpenJDK/jdk-18.0.2.jdk/Contents/Home" PATH = "${JAVA_HOME}/bin:$PATH" // ... other global variables } Serves two main purposes: ...
Install Zsh
Zsh is almost best shell nowadays, because it has oh-my-zsh :). You can configure a theme, add useful plugins, such as zsh-syntax-highlighting and zsh-autosuggestions. Here’s a simple process of installing and configuring zsh. Step 1: Install Zsh On Ubuntu/Debian sudo apt install zsh wget git -y On macOS brew install zsh wget git After installation, set Zsh as your default shell(or not, it will automatically change to zsh while installing oh-my-zsh): ...
Install Hugo
In this guide, I’ll walk you through the complete process of setting up a Hugo blog from scratch. Hugo is a fast and flexible static site generator written in Go, perfect for building blogs, documentation sites, and portfolios. 1. Install Hugo Homebrew brew install hugo Verify Installation hugo version # hugo v0.148.1+extended+withdeploy darwin/amd64 BuildDate=2025-07-11T12:56:21Z VendorInfo=brew 2. Create a New Site hugo new site blog cd blog 3. Initialize Git Repository git init Remember to add /public/, .hugo_build.lock, and .DS_Store to .gitignore to avoid committing built files: ...