SShortSingh.
Back to feed

Structuring Jenkins Shared Libraries for Maintainable, Reusable Pipelines

0
·3 views

Teams managing many repositories often end up with duplicated Jenkinsfiles, so a single fix must be applied across twenty pull requests. A Jenkins shared library, a Git repository loaded into the pipeline's Groovy classpath, is the usual remedy. The article explains its conventional layout, where vars/ holds global steps, src/ holds Groovy classes, and resources/ holds non-Groovy files. It warns that poorly designed libraries, such as bloated global steps, floating versions, or heavy logic running on the controller, can become as hard to maintain as the original sprawl. It also flags risks around hardcoded secrets and the lack of tests, which can push untested changes into production pipelines.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Moving cost calculator estimates prices across 47 states without collecting personal data

A moving quote tool has been built that produces estimates using only an origin state, destination state, home size, and move month, with no address, account, or contact details required. It covers 27,854 route pages across 47 states and relies on a single pricing model. The model draws on public US Census county-to-county migration data, which is aggregated into a corridor demand index that adjusts for carrier competition on busy versus thin routes. Estimates rely on distance bands, weight tied to home size, and seasonal multipliers derived from search and quote-request data, with summer moves priced higher. The calculator runs entirely in the browser, so no personal data is sent to a server.

0
ProgrammingDEV Community ·

Google Play Top Charts API: Free, Paid, Grossing and Trending apps in 130 countries

Google Play offers no public API for its top charts, so third-party vendors resell the data, often by reading the Play Store's internal RPC. Five lists are available per country and category: Top Free, Top Paid, Top Grossing, Trending, and Top New Free, each capped at 200 apps. Trending is distinct from Top Free, sharing only a handful of apps with it, which makes it the better place to spot breakout apps. Requesting an unsupported country code returns the chart of the requester's own location rather than an error, so scrapers must verify each market against a reference chart. By that test, the author's scraper currently covers 130 verified countries and 54 categories.

0
ProgrammingDEV Community ·

EU Remote Developers Face Hidden Tax Residency Risks When Working Across Borders

Developers working remotely from another EU country under a contract with an employer in a different member state may be exposed to tax obligations they did not anticipate. Each country applies its own domestic tests for tax residency, such as having a permanent home or a centre of vital interests there, so a person can end up resident in two countries at once. Bilateral tax treaties, typically based on the OECD model, resolve such dual residency through a tiebreaker sequence that considers permanent home, vital interests, habitual residence, and nationality. The article also notes that the commonly cited 183-day threshold governs when employment income becomes taxable in the source country rather than determining residency itself. Social security coordination and possible permanent establishment risks for employers are additional areas of concern.

0
ProgrammingDEV Community ·

Java Standard Library Covers X.509 Certificate Parsing and Chain Validation

A DEV Community guide, republished from Code Beneath, explains how to read and parse X.509 certificates in Java using only built-in APIs available since Java 1.4. It argues that the java.security.cert package, including CertificateFactory, X509Certificate, and CertPathValidator, is sufficient for most tasks, so external libraries such as Apache Commons or Bouncy Castle are often unnecessary. The article covers loading PEM and DER files, reading certificate chains, and extracting fields such as subject and issuer distinguished names. It includes sample code that aims to work in production without external dependencies.