<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>blog.bookwar.info</title><link>https://blog.bookwar.info/</link><description>Notes on Release, Build and CI Engineering</description><atom:link href="https://blog.bookwar.info/rss.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2026 &lt;a href="mailto:blog@bookwar.info"&gt;Aleksandra Fedorova&lt;/a&gt; 
&lt;a rel="license" href="https://creativecommons.org/licenses/by/4.0/"&gt;CC BY 4.0&lt;/a&gt;</copyright><lastBuildDate>Fri, 02 Jan 2026 23:19:01 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>CI System vs CI Pipeline</title><link>https://blog.bookwar.info/posts/ci-system-vs-ci-pipeline/</link><dc:creator>Aleksandra Fedorova</dc:creator><description>&lt;div&gt;&lt;p&gt;&lt;em&gt;(This is a repost of the article I wrote in 2017. I think it is as relevant now as it was then)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;For any code you write, you need several steps to transform it from a set of text files to a certain release artifact or a running service. You go through these steps manually at first, but sooner or later you decide to automate them. And this is how the &lt;em&gt;CI/CD&lt;/em&gt; pipeline of a project is born.&lt;/p&gt;
&lt;p&gt;But there are different ways how you can organize the automation.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.bookwar.info/posts/ci-system-vs-ci-pipeline/"&gt;Read more…&lt;/a&gt; (5 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>ci-book</category><guid>https://blog.bookwar.info/posts/ci-system-vs-ci-pipeline/</guid><pubDate>Thu, 10 Oct 2024 18:16:02 GMT</pubDate></item><item><title>Dist-git and exploded SRPMs - demystified</title><link>https://blog.bookwar.info/posts/dist-git-and-exploded-srpms-demystified/</link><dc:creator>Aleksandra Fedorova</dc:creator><description>&lt;div&gt;&lt;p&gt;In this article we address another topic which appeared in multiple discussions recently. We take a look at the difference between the SRPM and the so called &lt;em&gt;dist-git repository&lt;/em&gt; of a package. And why do we indeed prefer the dist-git.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.bookwar.info/posts/dist-git-and-exploded-srpms-demystified/"&gt;Read more…&lt;/a&gt; (5 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>dist-git</category><category>ELdevelopment</category><category>rpm</category><guid>https://blog.bookwar.info/posts/dist-git-and-exploded-srpms-demystified/</guid><pubDate>Sun, 23 Jul 2023 17:04:17 GMT</pubDate></item><item><title>Continuosly built Linux distributions</title><link>https://blog.bookwar.info/posts/continuosly-built-linux-distributions/</link><dc:creator>Aleksandra Fedorova</dc:creator><description>&lt;div&gt;&lt;p&gt;I know people who imagine distribution development as the process of piling up the code in the git repository for 6 months and then building it all in one go at the end of those 6 months, so that it can finally be shipped. This is very far from reality. And it is impossible to explain things like CentOS Stream without addressing this confusion.&lt;/p&gt;
&lt;p&gt;Linux distributions are not just developed continuously, they are &lt;strong&gt;built continuously&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.bookwar.info/posts/continuosly-built-linux-distributions/"&gt;Read more…&lt;/a&gt; (4 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>ELdevelopment</category><category>rpm</category><guid>https://blog.bookwar.info/posts/continuosly-built-linux-distributions/</guid><pubDate>Sat, 22 Jul 2023 17:26:49 GMT</pubDate></item><item><title>What is CI</title><link>https://blog.bookwar.info/posts/what-is-ci/</link><dc:creator>Aleksandra Fedorova</dc:creator><description>&lt;div&gt;&lt;p&gt;The Ultimate Source of Truth, Wikipedia, &lt;a href="https://en.wikipedia.org/wiki/Continuous_integration"&gt;defines&lt;/a&gt; continuous integration as the &lt;em&gt;practice of merging all developer working copies to a shared mainline several times a day&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;My version goes a bit deeper.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.bookwar.info/posts/what-is-ci/"&gt;Read more…&lt;/a&gt; (2 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>ci-book</category><guid>https://blog.bookwar.info/posts/what-is-ci/</guid><pubDate>Fri, 14 Jul 2023 16:09:25 GMT</pubDate></item><item><title>The curse of bug-to-bug compatibility</title><link>https://blog.bookwar.info/posts/the-curse-of-bug-to-bug-compatibility/</link><dc:creator>Aleksandra Fedorova</dc:creator><description>&lt;div&gt;&lt;p&gt;&lt;em&gt;Disclaimer: I am a Senior Principal Engineer in Red Hat. I was a member of the RHEL 9/CentOS Stream 9 Bootstrap team. Opinions are my own.&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;Tl;dr&lt;/h3&gt;
&lt;p&gt;The chase for "bug-to-bug compatibility" hurts community, hurts RHEL customers and hurts the industry as a whole. The real innovation behind the CentOS Stream is the attempt to change it.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.bookwar.info/posts/the-curse-of-bug-to-bug-compatibility/"&gt;Read more…&lt;/a&gt; (4 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>ELdevelopment</category><guid>https://blog.bookwar.info/posts/the-curse-of-bug-to-bug-compatibility/</guid><pubDate>Tue, 11 Jul 2023 17:37:05 GMT</pubDate></item></channel></rss>