<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Cloud Build on Kapownik prostego programisty</title>
    <link>https://zamolski.com/tags/cloud-build/</link>
    <description>Recent content in Cloud Build on Kapownik prostego programisty</description>
    <generator>Hugo</generator>
    <language>pl_PL</language>
    <lastBuildDate>Wed, 13 Aug 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://zamolski.com/tags/cloud-build/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Profesjonalny workflow CI/CD dla aplikacji Kotlin &#43; Ktor z użyciem Cloud Build i GitHub</title>
      <link>https://zamolski.com/posts/profesjonalny-workflow-ci-cd-dla-aplikacji-kotlin-ktor-z-uzyciem-cloud-build-i-github/</link>
      <pubDate>Wed, 13 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://zamolski.com/posts/profesjonalny-workflow-ci-cd-dla-aplikacji-kotlin-ktor-z-uzyciem-cloud-build-i-github/</guid>
      <description>&lt;div id=&#34;preamble&#34;&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Na początku słowo wyjaśnienia: w poprzednim artykule zapowiedziałem kontynuację dotyczącą monitorowania aplikacji.&#xA;Ten temat pojawi się w osobnym wpisie.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Dziś natomiast skupiam się na czymś, co powinno zostać omówione wcześniej,&#xA;na poprawnym workflow CI/CD dla aplikacji Kotlin + Ktor w chmurze Google.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_założenia&#34;&gt;Założenia&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;olist arabic&#34;&gt;&#xA;&lt;ol class=&#34;arabic&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Kod źródłowy jest hostowany w serwisie GitHub&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Każda Pull Request (PR) automatycznie uruchamia budowanie i testy&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Merge do main wyzwala budowanie obrazu kontenerowego i opcjonalny deployment&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Budowanie obrazu odbywa się za pomocą Jib (bez Dockera)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Budowanie obrazów kontenerowych dla kotlin &#43; ktor bez Dockera z użyciem Jib i Cloud Build</title>
      <link>https://zamolski.com/posts/budowanie-obrazow-kontenerowych-dla-ktor-bez-dockera-z-uzyciem-jib-i-cloud-build/</link>
      <pubDate>Wed, 02 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://zamolski.com/posts/budowanie-obrazow-kontenerowych-dla-ktor-bez-dockera-z-uzyciem-jib-i-cloud-build/</guid>
      <description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_wprowadzenie&#34;&gt;Wprowadzenie&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;W poprzednim artykule zbudowaliśmy aplikację Kotlin + ktor i uruchomiliśmy ją lokalnie&#xA;w kontenerze dzięki &lt;code&gt;Dockerfile&lt;/code&gt;.&#xA;Co, jednak jeśli nie chcemy (lub nie możemy) instalować Dockera lokalnie?&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Dzięki narzędziu &lt;strong&gt;Jib&lt;/strong&gt; oraz usłudze &lt;strong&gt;Cloud Build&lt;/strong&gt; możemy zbudować&#xA;i opublikować obraz naszej aplikacji bezpośrednio z kodu źródłowego, bez pisania Dockerfile&#xA;i bez używania Dockera.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_czym_jest_jib&#34;&gt;Czym jest Jib?&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;[Jib](&lt;a href=&#34;https://github.com/GoogleContainerTools/jib&#34; class=&#34;bare&#34;&gt;https://github.com/GoogleContainerTools/jib&lt;/a&gt;) to narzędzie powstałe w firmie Google,&#xA;które umożliwia budowanie obrazów kontenerowych bezpośrednio z poziomu Gradle lub Maven,&#xA;bez potrzeby używania Dockera.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
    </item>
  </channel>
</rss>
